Hola,
No esta mal. Aunque yo recomendaria el uso del array superglobale $_POST (o el normal $HTTP_POST_VARS) para recoger las variables del formulario, tampoco cambiaria los retornos de carro ANTES de guardarlos en el fichero (lo haria al mostrar los datos), para transformalos a <br> usaria la funcion nl2br() (que ademas es compatible con XHTML), creo que seria conveniente desbloquear el fichero explicitamente, explicaria que el codigo de mostrar muestra los datos en orden inverso a como se metieron y quizas usaria un foreach con el array volteado.
Solo es mi pequeña critica constructiva ;) . Si quieres vengarte, puedes "analizar" este articulo mio:
http://usuarios.lycos.es/josemifaq/caza_errores.html (ojo: esta sin acabar).
Saludos.