bestaad $list['id'] wel? want anders zal dat denk ik als NULL worden ingegeven en dan bestaat de sessie dus ook niet, en doe anders eens var_dump($_SESSION) wat komt er dan?
Kijk eens naar phpinfo() wat daar ingesteld is, ga na of je session_start aanroept op alle paginas die je gebruikt en kijk eens naar de inhoud van je sessie inderdaad.
als je de sessie zet in url.nl/dir1/nogeendir kan je hem vanaf dir/1 gebruiker en hoger (verder de directory in) maar niet terug, dus verder terug dan waar hij gezet is vaak, is met cookies ook zo... ik meen dat je een soort van path kan opgeven zodat hij overal gebruikt kan worden?
HIER heb je de php manual van session_start misschien vindt je daar iets