La función session_register() tiene cierto tiempo en PHP. Antes era importante para trabajar con sesiones, pero ahora diría que es mejor no usarla.
Esa función, como decías, registra variables de sesión como variables globales, es decir, crea variables globales que asocia a variables de sesión. De modo que a través de esas variables globales podremos acceder a variables que se guardan en la sesión. Pero session_register()sólo debe utilizarse en entornos donde register_globals esté habilitado. Si register_globals está deshabilitado, session_register() no se debe utilizar.
Ahora en PHP existe el array $_SESSION, donde se almacenan todas las variables de sesión. Este array es independiente de lo que se haya configurado en la directiva register_globals, por lo que es mucho más recomendable de utilizar $_SESSION que session_register().
La respuesta concreta a tu pregunta entonces sobre si es necesario session_register() para registrar las variables es: No no es necesario, incluso es poco recomendable. Así que utiliza $_SESSION, poniendo entre corchetes el nombre de la variable de sesión que quieres acceder.