Проблема здесь в поведении браузера. Файлы cookie обычно не уничтожаются до тех пор, пока браузер не будет закрыт, а сеансы PHP поддерживаются с помощью файла cookie идентификатора сеанса.
Лучше всего установить тайм-аут сеанса на значение, которое короче значения по умолчанию (я полагаю, 15 или 30 минут)
Вы можете попробовать что-то сделать с onunload, как предлагает Anonymous, но событие onunload не гарантированно сработает, поэтому вы не будете уверены, что сеанс был уничтожен.
Есть ли какая-то особая причина, по которой вам нужно, чтобы сеанс был немедленно уничтожен? Если мы точно знаем вашу проблему, мы можем предложить обходной путь