CGVictor
Это проблема не браузера, а твоего непонимания механизма работы Basic-аутентификации.
Ты должен чётко понять, что механизм аутентификации и сессии - это два абсолютно разных понятия. Они между собой никак не связаны и работают независимо друго от друга.
Если ты поймешь это, то для тебя станет очевидным, что проблема у тебя не с сессиями, а именно с аутентификацией.
Мануал (а наверняка и спецификация HTTP, но я не проверял) говорит, что однажды получив от пользователя верную связку username / password, браузер запоминает её, а затем передает в каждом следующем запросе к этому же серверу (на самом деле, если не ошибаюсь, там есть заморочки с реалмами, но я не хочу ещё больше усложнять проблему). Тебе же нужно сделать так, чтобы при логауте и уничтожении сессии, так же сбрасывалось имя пользователя и пароль, которые используются для HTTP-авторизации и хранятся в памяти браузера.
Так вот, вся проблема в том, что на PHP это реализовать нельзя.
Я тебе уже приводил цитату из мануала, как можно попытаться это реализовать. Если этот способ не сработал, то никаких других вариантов не отсается. Браузер будет хранить имя пользователя и пароль у себя до тех пор, пока ты его не перезапустишь. Во многих браузерах, например в Мозилле, есть опция Log Out, которая очищает имя пользователя и пароль без перезапуска браузера. Но выбрать эту опцию может только пользователь, PHP тут не при делах.
Лично моё мнение, многие могут не согласится, но всё же:
Я вообще не вижу смысла использовать Basic-аутентификацию в PHP.
Если тебе нравится стандартное браузеровское окошко - используй .htaccess/.htpasswd. Если ты хочешь сам нарисовать страницу ввода пароля и обеспечить нормальную возможность выхода пользователей, используй авторизацию на куках/сессии.