Se supone que onEnd() se ejecuta cuando invoca session.abandon(), esto se ejecutaría en tu botón de
Logout o Terminar sesión que supongo tienes, pero si el usuario se sale solo cerrando el navegador esto no se ejecutaría, creo que ni al pasar los 20 minutos de default que duran las sesiones.
En ASPFAQ hay un artículo con
alternativas para este problema, léelas y ve si alguna de ellas te sirve.