Fai un po' di debug vecchio stampo, metti un paio di echo/dump e vedi cosa ti da:
codice:if (empty($form)) { echo '<pre>' . print_r($_SESSION, TRUE) . '</pre>'; unset($_SESSION['finish']); }
Così vedi se entra nell'if e che valore hanno le var di sessione prima dell'unset. Secondo me c'è qualche problema con la sessione, così si dovrebbe poter capire qualcosa in più.