Ciao Daniele,
leggo solo oggi questo post che mi era "sfuggito" 
Una soluzione è ovviamente l'utilizzo di Microsoft ASP.NET Ajax. Ti basterebbe nella pagina interessata includere il controllo scriptmanager ed il codice
<script type="text/javascript">
<!--
function pageUnload()
{
// codice lato client o chiamata a servizio per logica lato server
}
-->
</script>
la funzione pageUnload fa parte del "ciclo di vita della pagina" lato client implementata dall'Ajax Library e viene automaticamente invocato sul client quando si lascia la pagina corrente e quando siu chiude il browser (quest'ultimo caso credo sia gestito solo da Firefox ed IE e non da Opera cmq. Inoltre senza l'utilizzo di ASP.NET Ajax si potrebbe fare con semplice js gestendo l'evento unload del tag html body) e qui puoi piazzare del codice eseguito lato client che magari chiama un web service o page method dell'applicazione per eseguire della logica anche lato server.
Ora sta a te valutare se vale la pena per questa funzionalità aggiungere il supporto ad ASP.NET Ajax e se questa soluzione faccia al caso tuto 
Facci sapere, ciao