NO mezcles session_register() con $_SESSION . usa uno u otro método pero no ambos simultáneamente!.
Lo que hace que las "sesiones" funcionen se denomina "SID" (Identificador único de sesión) y de la propagación de este depende que o cuando puedes leer las variables que guardas en tu sesión.
Revisa en tu configuración de PHP (php.ini o phpinfo()) como propagas el SID: por el URL? .. en cookies? .. de forma automática o manual?
Según tu código y uso de header() para redireccionar y no propagar el SID de forma manual por tu parte .. te ves en la obligación de que PHP propage el SID en cookies y que tu navegador de pruebas (o el de tus usuarios) permita el uso de cookies.
Mas info en:
www.php.net/session
Un saludo,