No no, in linea di massima e' giusto; o, almeno, io ho sempre usato questo sistema;
o meglio, ho usato una funzione che verificava sia se la variabile di sessione era istanziata sia se non avesse superato un certo tanto di vita (esempio, la faccio scadere dopo 30 minuti che non viene aggiornata la variabile $_SESSION['user']->LifeTime)