No deben usar session_register() para registrar variables de sesión. DEBEN usar el array superglobal: $_SESSION
Y por supuesto -siempre- que deban acceder a una variable de sesión usar -antes- session_start()
Session_start() lo que hace es "buscar un SID válido" propagado al script que estamos accediendo para de esta forma obtener los datos de la sesión que le corresponda bajo el SID que le llega al script PHP en cuestión: ya sea por el URL o en una cookie según propaguemos este.
Deben ver la documentación oficial de PHP al respecto:
www.php.net/session
Si usan el buscador del foro por el término "sesion" veran muchos mensajes que hablan del tema: sobre todo de la propagación del SID o el concepto en sí del SID .. Pues las sesiones no funcionan "por arte de mágia" en su fondo por usar una u otra función.
Un saludo,