Benzer bir krizi geçen gün bende yaşadım, tam olarak sebebini keşfedemedim, muhtemelen acemiliğimdendir. Çözüm için sayfanın başında ob ve session başlatıyorum, bu session nerede gerekli ise orada kullanıyorum. Önceden bir fonksiyona bağlayıp çağırmayı denemiştim ama sanırım sorun bundan olsa gerek.
Ajax ile mi çağırdın, include mu ettin farketmez gereken sayfanın başında ob_start(); ve session;_start(); demen yeterli olacaktır. Kimi zaman ob;_end_flush();'ı da sayfanın sonuna koyuyorum.
Loginde koyuyorum ama include ettiğim sayfada da var diyorsan ve headers already sent gibi hatalar varsa esas sayfanda kullanmaya çalış.