Tienes razon, lo que pasa es que nosotros utlizamos frames , y el evento onunload lo hemos puesto en el frame superior de modo de solo se ejecuta cuando cierran la ventana o salen del portal.
El applicacion end se ejecuta cuando sale el ultimo usuario.
Para los de los datos temporales, dependiendo de la estructura de la aplicacion:
- Si estan identificados con el numero de usuario al que pertenecen, pueden eliminarse la siguiente vez que ingrese a dicha opcion.
- El proceso de la base de datos puede eliminar los datos del dia anterior (o por x horas o minutos).
- Si no son muchos se pueden manejar en objetos de negocio en la aplicacion de modo que cuando se termine la aplicacion sean eliminados.
En mi punto de vista, no creo que sea buena idea la de impactar la base de datos al cerrar la ventana.
Saludos!