Sobre session_register()... lo mejor es dejar de utilizarla y asignar directamente al superglobal $_SESSION.... el manual recomienda también no mezclar el uso de esa función y el superglobal que te menciono. Aunque eso no tiene nada que ver con tu error... nunca está de más el consejo no?
http://www.php.net/session_register
Saludos