I like to add that calling ajax requests within unload event may used up the internet connection within IE.
IE7 has 2 maximum live connections, when an ajax calls is interrupted, IE does not know how to close the connection, this results in a hang after 2 ajax calls within unload event. It is a serious issue that Firefox doesn't have. User has to either wait until the connection times out or force IE to close.
The only reliable solution is synchronous call within unload event.
Summary of the issue from MS support:
"It looks like IE will
not send new requests to the same domain when the hang happens. What I can
guess so far is, IE somehow doesn't know the connection should be closed if
a user manually interrupts the AJAX request by closing the tab. By default,
as you may know, IE only allows two subsequent connections to one domain.
I've contacted our development team for a confirmation about this issue.
They may need some time to come to a final conclusion. I'll follow up and
update here. "
Here are links that discusses the issue:
(contains a demo page that demonstrate the issue)
(Microsoft support replying to a user with the issue)
I hope this helps.