Hi,
I made http://tc.labs.opera.com/apis/XMLHttpRequest/send/010.htm which shows that Opera switches to readyState = 2 when transmitting something large over the wire where Internet Explorer and Firefox (haven't tested Safari) stay in readyState = 1 until the whole transaction is over. This seems to indicate that readyState = 2 is pretty much useless and just becomes a required state to visit before going to state 3. I will update the specification soonish to reflect this unless implementors (or someone who can convince implementors) want to do it differently.
Cheers, -- Anne van Kesteren <http://annevankesteren.nl/> <http://www.opera.com/>