Sorry if this ends up being completely off-base, but I remember running into something like this a while back. I fixed it by adding 'defer' to my script tag, i.e.:
<script defer="true"> ... </script>
This prevents the script from running until the rest of the page has finished loading, which avoids an IE DOM bug that sounds very similar to what you're getting. I haven't used ASP, though, so I don't know how you would add the defer attribute through ScriptManager.