In IE7, when you zoom text, some of your relatively positioned elements can wind up in unexpected places. The solution appears to be to also relatively position the parent of the rogue element – or, just add position:relative to the body tag to take care of all the child elements.
I haven’t tested this across browsers. I’m keeping this fix in my ie hacks stylesheet, because it is an IE7 bug that it fixes. And the fix doesn’t seem to impact IE6.
More about this can be found here.