At a guess, it's moving down and to the right by the size of your borderWidth because some piece of software in the stack forgot that X borders existed. Try setting your borderWidth to something big like 30 and you'll know if this is true. If only mplayer is exhibiting this behavior, it is likely mplayer that's forgotten; otherwise, check if you have a compositing manager running or if xmonad itself is doing some math wrong somewhere.
xcompmgr at least doesn't figure borders into things, so it makes the problem worse; but the real problem is as stated in the bug I pointed to earlier.
--