It appears that Firefox 3.5rc3 has a bug involving XHR.onreadystatechange - in a very indeterministic fashion (only with very frequent requests) it sometimes doesn't fire this event at all, but that's only when it's defined between XHR.open() and XHR.send() (like it is in Mootools 1.2.3). Defining XHR.onreadystatechange after XHR.send() fixes that.
So, kind of a temporary hack around this bug until Mozilla fixes their shit (it's called release candidate for a reason

) would be something like this:
- // send your request
- yourRequest.send(...);
- // and overwrite the event
- yourRequest.xhr.onreadystatechange = yourRequest.onStateChange.bind(yourRequest);
edit: should be "yourRequest" there instead of "ajaxRequest", that's my var name

.