Never mind. I spotted the problem in my own debug output. I was interpreting all child co-ordinates as having an outside origin. So, from my example above. The 10, 210, 10, 210 window has a size of 200, 200. The vertical place to position a 50, 100 item in it so that it touches the bottom isn't x, 110 it's obviously x, 100. The change to the project I posted is:

*** Delegates.cpp 2007-10-21 19:00:37.000000000 -0600
--- Delegates.cpp 2007-10-21 19:00:44.000000000 -0600
59c59
< myrc.moveTop(prc.bottom() - myrc.height());
---
> myrc.moveTop(prc.height() - myrc.height());