Zooming out seems to affect mouse position in a very strange way. The 0,0 coordinate moves further and further outside the frame up and to the left.
I'm not sure how to explain this but it seems all zoom values below 100% except for 50% break coordinates. Running with debug on, I tested the "640x480" point on the layout, and it moved around from 99% to 51% then when it hit 50%, 640x480 was exactly where it was at 100%.
I really have no idea what's going, but no matter which formula I came up with, I couldn't account for this bizarre offset (Though accounting for the mouse speed change was easy enough, dividing by (zoom/100)).
So, I give up. What's going on here?