Tu falla es que preguntas primero si en el formulario viene el login y el password y si estos coinciden con unas variables que has establecido antes. Cuando ingresas y te aparece el formulario para editar el texto, al darle submit esta comparación hace que de nuevo te ingrese al formulario de identificación (donde ingresas login y password).
Lo que puedes hacer es agregar 2 campos hidden que coincidan con los nombres de los campos login y password y en ellos guardes esos parámetros; o sea:
$campos_identificacion = "<input type='hidden' name='txtUsername' value='" . $_POST["txtUsername"] . "' /><input type='hidden' name='txtPassword' value='" . $_POST["txtPassword"] . "' />";
echo "<form method='POST'><textarea name='texto'>$contenido</textarea><br><input type='Submit' value='Guardar'>$campos_identificacion</form>";
También te recomiendo que aprendas a utilizar sesiones, es muy necesario para la asociación de usuarios y también cuando deseas mantener datos entre llamados HTTP (cuando sigues un link, haces un submit en un formulario, etc).
Lo he probado y parece que tampoco va. Sigue estando igual.
Por cierto, se me olvido decir una cosa: Escribo, le doy a guardar, luego me meto en texto.txt, y no me pone nada de lo que he escrito en el.
Me parece que el fallo está en la función fread.