Object moving to a position I didn't specify
It's because of Spatial Interpolation.
You need the spatial interpolation to be set to linear, and by default it is set to Auto Bezier.

Right click on the keyframe at 3'00, and select Keyframe Interpolation.  Change the Spatial Interpolation to linear, and it should solve the problem.

What's happening:

Instead of drawing straight lines (linear lines) between your positions on the screen, after effects is drawing curves (bezier curves).  When you tell your object to "double back" on itself, AE tries to draw a curve to this effect, causing a little knot or bounce forward at the 3'00 mark.  

You can choose how AE interprets changes in space, as described, but you can also choose how it interpolates time too (Temporal interpolation).  Setting temporal interpolation to bezier often produces nicer results than linear, as it allows objects to slowly come to a stop, rather than suddenly stopping at a keyframe, which is how objects in the real world respond (due to weight, friction, gravity etc).