Ma il browser non manda nessun messaggio al web server? Tipo connessione chiusa etc.
Non in modo autonomo.

Come gestisce la cosa asp?
Esattamente come PHP: non la gestisce, essendo anch'esso un linguaggio lato server.

Sarebbe eventualmente possibile utilizzare un form nascosto che venga spedito alla chiusura della pagina? Sarebbe sempre necessario uno script?
Si', per questo genere di cose serve un linguaggio lato client, come JavaScript.