This was noticed by a customer of ours. It doesn't look like EXITAU isn't being sent in FF 3.6 using the following config:
* Firefox 3.6
* No relay.asp is used (because it is a linux host)
* EXITAU is sent on exit in IE 6-8. It still looks like everything is OK in testtrack, but guessing some LMSs are different about requiring ExitAU being called.
When an AICC course unloads, it needs to send two messages back to back. The first is a PUTPARAM to save any unsaved data. The second is the EXITAU call to end the session.
In the past, we've encountered some web servers that will discard one of these messages if they are received too close together. The server apparently assumes that two requests to the same page are duplicate requests even though they contain different post data.
To remedy that situation, we've introduced a slight pause between the PUTPARAM call and the EXITAU call. This is only relevant for "blind form posts" that happen in a cross domain environment.
It appears though, that in Firefox, if your code that runs in the onunload event takes too long, Firefox will just cut it off and close the browser.
I was able to get the EXITAU call to go through by simply turning off the time delay between requests. There is a setting called USE_AICC_KILL_TIME in the Configuration.js file that makes this easy. Simply set that to false and the calls will be run immediately and should go through.
You might also have to turn off the debug logs as writing to them can cause some delay. I had mixed results when I had them on (our kill time function actually just does a bunch of similar writes). I used the server side logs to monitor the calls coming through.
The ideal situation when using cross domain AICC is to use a relay page.