Hola!!
varias cositas:
En primer lugar te aconsejo que compruebes si tienes register_global a On o a Off. Si tienes register_global=Off no debes usar Session_register(), session_is_registered() y session_unregister, tan solo $_SESSION["variable"] y isset($_SESSION["variable"]).
En cualquier caso, creo que el orden no es el adecuado. Debes registar la variable antes de hacer session_start().
En cuanto a lo de limitar temporalmente las sessiones , no se me ocurre nada.Con javaScript se podria hacer algo, pero no sería seguro.
Espero haberte ayudado en algo.
Un saludo.