>I had the same problem with the .ScrollHeight (in IE only, but then IE was what about half of the users had) when I was implementing an autoexpanding textarea plugin. It seems that it stays at zero until something else happens. My guess is that the property isn't filled until the control is actually rendered.
I had it on all browsers.
In this case, I think this was a normal behavior. The main container onload event will fire upon all of its frames loaded, in this case IFRAMEs. That is why inside each of them, such event would not serve for such purpose in this case. It is executed but some of the required things we may need will not be available.