cucox:
Procura ya no hacer uso de las funciones session_register(), session_is_registered() y session_unregister()... y menos mezclarlo con $_SESSION... sobretodo porque se recomienda mantaner la directiva "register globals" en OFF. Puedes ver más sobre esto en el manual:
http://www.php.net/manual/es/ref.session.php
Y otra cosa:
El tema de dar atrás al navegador ha sido tratado varias veces en el foro... si utilizas el buscador encontrarás mucha información sobre session_cache_limiter(), por ejemplo.
Sobre autentificación de usuarios, sería bueno que pruebes el
Autentificator de Cluster y revises el código... creo creo que es de lo mejorcito para aprender sobre el tema de sesiones. Lo puedes encontrar en su página (no me acuerdo la dirección, pero en mi firma hay un enlace).
Saludos