session_start(); deve essere presente in testa al file o cmq prima di ogni output che genera html.
A meno che i file non vengano tutti inclusi dalla index , devi mettere session_start(); all'inizio di ogni file o non mantiene la sessione.
Prova e vedi se la sessione persiste.
session_start(); in testa
$_SESSION['a'] = 1;
var_dump($_SESSION);
e vedi la sessione.
Prova a far questo nella prima pagina che ti serve. Poi fai lo stesso var_dump(); nella pagina dove passi i dati e vedi se c'e'(sempre con session_start() in testa).