Entonces estamos en lo mismo que antes, el onEnd funcionara hasta que llegue al timeout, entonces tendras usuarios bloqueados por X minutos (anexo, no todos tienes 20 minutos, hay sitios hasta con 3 horas como sucede en yahoo, hotmail, etc, porque saben que hay personas escribiendo y pueden tardar mucho tiempo), entonces estamos como al principio, tenemos usuarios bloqueados durante X tiempo porque la marca nunca se quito, y hay que explicar ese caso a los usuarios, porque si cierran su navegador y luego quieren entrar nuevamente no podran.
Bueno, por lo menos confirmamos lo mismo entre todos, porque todo lo que podamos hacer para asegurar un onClose (que no existe) son metodos inseguros. Suerte!!
Anexo: El unload tampoco es seguro, porque nunca sabes cuando el usuario esta saliendo de su cuenta o simplemente hizo click en una liga, para eso se necesita todo un sistema donde cada liga pone una variable que dice que estas haciendo click, pero bueno, tambien pasa que algunos usuarios hacen un "Abrir vinculo en nueva ventana", y si fuera posible un onClose, entonces tendrias antes que verificar que no hay mas ventanas abiertas, etc.... en un show completo