Il problema è + definito allora.
Al momento del login crea una sessione col session_start().
Al momento del controllo ne crea una seconda che essendo vuota restituisce falso al controllo.
Perché mi crea la seconda sessione? E soprattutto perché funziona alla perfezione nell'altro script?

è come se ad ogni session start crea una nuova sessione!