But the implementation seems a bit poor. Usually they work fine, but in certain conditions they either return weird results or don't work at all.
I made a test page that should hopefully show you when this bug occurs. Here you go and see what's going wrong.
Opera's getBoundingClientRect() and getClientRects() bug test page
I'm going to report this to Opera. Hopefully they fix it soon...