Klingt für mich ganz nach einem Timing-Problem: der readyState ist schon gesetzt, der Status jedoch noch nicht. Kannst Du mal einen Timeout vor die Auswertung vom Status packen?
Bei einer Verzögerung über einen vorgeschalteten Funktions-Aufruf um 2 Sekunden funktioniert es zwar schon um Einiges besser, aber manchmal tritt dieser Fehler dennoch noch auf. Komisch dabei, dass es diesen Fehler im Firefox 2 eben überhaupt nicht gab und jetzt mit Version 3 geht es los...
Kann es sein, dass der Firefox 3 so viel schneller geworden ist? ;-)