e' un errore di valutazione. $_SESSION e' sempre settato dopo il session start, anche se vuoto.
Invece di usare isset() usa empty();
prova con session_start() e senza session_start e vedi la differenza:
Codice PHP:
<?php
session_start();
if(empty($_SESSION)) echo 'sessione vuota con empty';
if(isset($_SESSION)){ echo 'sessione settata con isset';}
else echo '
sessione vuota con isset';
?>
@edit ... dimenticavo. Se le parentesi non servono non le mettere sono solo una cosa in piu' inutile che deve valutare il parser.