Hi Adam,
Strangely this bug seems to have resurfaced because of the fix made in response to this thread. The behavior of getBoundingClientRect is different in strictly typed xhtml documents and will actually retrieve the correct position in IE7. By having your GetScrollPostion(e) function use getBoundingClientRect for IE, it solves the problem.
Firefox is a slightly different matter. First, the problem is much more significant in FF - the divs wind up floating wayyyyyy down the page. Because of the way you load the scripts, I was flying a little blind when debugging in FF, but this seemed to (inexplicably) work in GetScrollPostion:
var b=document.getBoxObjectFor(e);
return {left:b.x,top:b.screenY-b.height};
It doesn't make a whole lot of sense, but it does work.
For us this will have to be the solution for now. Maybe you can investigate what's going on more thoroughly when you have some time. Hope I didn't give away any state secrets here ;)
-Chris