А каким ты образом проверяешь это?
GoDevs.com - Cheap Domain Names, Free/Cheap ASP.NET AJAX Web Hosting, 24x7 support and much more.
Достаточно просто: приложение требует авторизации. После того, как она прошла успешно, id пользователя, его ip и время входа заносится в таблицу БД. В приложении добавлен пункт выхода из системы, при щелчке на котором пользователь удаляется из таблицы активных пользователей. Этот же самый код повесил на session_end, потому что если пользователь не выполнит выход, а просто закроет браузер, то его запись останется в таблице, и в следующий раз он просто не войдет (стоит программная блокировка на множественную авторизацию под одним и тем же логином). А поскольку большинство именно просто закрывает браузер, как раз код в session_end и должен автоматически чистить таблицу. Проблема-то именно в том, что видимо событие просто не вызывается, поскольку некорректно вышедшие пользователи могут висеть неделями в базе, и соответственно, не могут войти. Приходится чистить базу вручную

Еще раз повторю, что на компе, на котором приложение писалось, событие отрабатывало. Проверял специально: вечером "забуду" выйти из системы, утром уже пользователя в таблице нет