NOO uses session_register() en conjunto con $_SESSION .. o usas un método o el otro pero nunca los dos a la vez.
(más info al respecto:
www.php.net/session)
NOOO mezcles $_POST (o $_FILES) y otros acceso a variables externas (arrays "superglobales") con $HTTP_..._VARS .. Usa un métod u otro (recomendable usar los arrays superglobales $_....).
Por lo demás . .no alcancé a entender el problema .. pero intenta corregir lo que te comento, tal vez por ahí (por el valor de tus sesioens que no se están tomando bien o registrando) tengas el problema.
Un saludo,