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.