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).