Grazie per l'interesse francy.

Non è mia intenzione fare nomi ma posso dire che il problema non era mio ma del server che mi hosta l'applicazione: in alcuni casi dopo un reindirizzamento usando header si perdeva proprio la sessione(verificato con dump($_SESSION)).

Poichè devo garantire un certo grado di affidabiltà sono stato costretto a riscrivere la parte di gestione degli accessi, risolvendo - sembra definitivamente - la situazione.

SOLUZIONE:

Passare manualmente la sessione con GET.

Questo comporta un calo di sicurezza generale, compensato assegnando un nuovo id alla sessione ogni volta che l'utente cambia pagina, in questo modo:

Codice PHP:
session_start();
   
   
$permesso false;
   
   if(
$_SESSION[logIn]=="loggato"){
      require_once(
"(...)/session_Regenerate_Id.php");
      
$permesso true;
      if (!
function_exists("session_regenerate_id")) {  // Funzione scritta manualmente in caso server non sia aggiornato
                  
sessie_regenerate_id(); 
               } else { 
                  
session_regenerate_id(); // Funzione predefinita che aggiorna l'id di sessione
               

   }else{
      
header("Location: index.php?error=noPriv");
   }
   
   
   if(
$permesso){
      (
codice pagina)
   }