In case anyone runs into this, adding defer="true" to the script tag on your page will fix it. Has to do with some IE rendering issue. More info here. All the info I've found recommends defer="defer", but the tag is actually a boolean. Strangely, it doesn't seem to matter what it's set to (true, false, defer) in my testing.
Hopefully this saves someone the 3 days of cursing I've just had :).
I was just putting a script into the head of an html page using Dreamweaver. When I selected the defer attribute from the auto-complete/available attributes menu that pops up, it was automatically populated with a value of "defer". No other options were available, and I suppose technically this is still boolean now that I think of it, so I would go with defer="defer" instead.
The reason why the defer="defer" is because of Attribute Minimization - or in XHTML's case, the lack of Attribute Minimization. If you read here - http://www.w3.org/TR/xhtml1/#h-4.5
At one time you would have this <input type="radio" selected> but now you have <input type="radio" selected="selected">