Estube leyendo en el FAQ de sessiones, y creo saber cual es tu problema.
coloca esa linea de codigo antes de usar cualquier
header('miarchivo.php');
y con eso forzaras que cualquier asignacion a una variable $_SESSION se lleve a cabo de inmediato, ya que por lo que lei estas guardan la informacion al terminar el script y cuado usas un header no significa que este halla terminado, por lo tanto no guardas la varible session siempre.
Lee el FAQ que alli loo explican mejor...
Espero que te sirva!
[URL="http://www.forosdelweb.com/wiki/PHP:Problemas_al_forzar_descargas/redireccionar_%28p%C3%A9rdida_de_valores_de_$_SESS ION%29"]http://www.forosdelweb.com/wiki/PHP:Problemas_al_forzar_descargas/redireccionar_%28p%C3%A9rdida_de_valores_de_$_SESS ION%29[/URL]