Absolutely there is a way to batch your request and is the recommended method of doing so. ;-)
"So, no matter what I do with IE, it'll freeze after 2 requests? Even if they're not async and the UI update happens in between reqeusts?" --> Yep... It's the nature of the beast.
The documentation for the web service shows you how to setup a batch:
http://msdn.microsoft.com/en-us/library/lists.lists.updatelistitems.aspx
My roboCAML project makes it easy to create batches/CAML, if you wanted to give that a whirl... Feel free to post your code if you get stuck.
Cheers,
Matt