El problema está en el uso de las funciones session_register y demás, como bien especifican en la documentación:
http://es.php.net/manual/en/function...-register.php.
Usa SÓLO el array $_SESSION en su lugar para recuperar y poner valores en la sesión.
Escribo "sólo" con mayúsculas porque, como también indican en la documentación, no debes mezclar el uso de session_register con llamadas a $_SESSION.
No te lo tomes a mal, pero a veces dan ganas de responder mensajes de esta índole con un RTFM (del inglés, Read The Fucking Manual).
Un saludete y dale caña, vitxo.