Las sesiones en PHP tienen una vida útil establecida... creo que tienen una vida de 30 minutos sin actividad, si pasan los 30 minutos sin hacer nada la sesión muere. Esto lo puedes modificar en el php.ini. También creo que es una directiva que puedes modificar al vuelo con
ini_set().
Espero que lo anterior te sea de ayuda.
Saludos.