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