Se invii un output al browser non puoi piu' inviare il nuovo cookie di sessione. E quindi sul browser rimane il cookie precedente e il session_start() successivo recupera la sessione indicata dal cookie.

Abilita la stampa degli errori, almeno durante il debug dello script.

Comunque vedi tu....