Cita: ¿Porque pierdo esa informacion de formulario cuando presiono Enter y no la pierdo cuando hago clic en el botón? ¿Hay algo mas que tenga que agregar a mi codigo, alguna cabecera?
Una recarga de página origina una perdida de datos de tu formulario (esto en general .. uses "$_SERVER['PHP_SELF']" o no (por cierto .. usa el array superglobal $_SEVER . .no lo uses directo $PHP_SELF).
Ese comportamiento de un formulario .. y tal vez por qué tu "enter" no se asocia al evento "submit" (javascript) para hacer llegar los datos al servidor tendrás que revisarlo en el foro de HTML (para que te expliquen cosas sobre el foro tal vez . .donde está (en que botón) o el comportamiento exacto.
En javascript puedes caputar el "enter" (tecla que pulsen) y asi asignarlo a un evento "submit".
Un saludo,