hmmmm,
I might have just rushed to answer your post :)
But, remember that the point 0,0 is the top left corner of your screen. So you are continuously calculating the angle from there.
VelocityX should be the magnitude of the velocity in that direction, as with VelocityY. Calculating an angle based on the origin (top left corner) and the magnitude of the velocity is sure to cause some strange results isn't it?