Il problema è con le SESSIONI
1 - verifica che prima di session_start() non ci sia codice HTML, spazi vuoti o altro
2 - verifica che a un certo punto non ci sia per sbaglio un session_destroy();
3 - verifica che nell'altra pagina ci sia un session_start() e gli eventuali controlli non cancellino erroneamente il contenuto precedentemente assegnato
fatto questo, se è tutto ok, posta il codice prima e dopo il ciclo perchè non esiste un problema di assegnazione valori con le sessioni, che sia matrice, stringa, intero o altro