The IE bug was actually due to using <span/> instead of <span></span> in the innerHTML (and appears to have been fixed in IE8.
I've fixed the timing so that it now includes layout. I used Joel's trick of calling getOffsetTop rather than setTimeout(0) so that I could keep the code synchronous. Also unified the innerHTML calls a bit to ensure I'm not accidentally doing things differently in different tests. Still haven't explored super-wide-and-shallow and super-deep cases with crawling, but the year seems to have ended... http://gwt-code-reviews.appspot.com/127801 -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
