Hi!
I faced this issue and solved it in my way.
I want to share my solution for someone who needs it and ask, maybe simplest solution available.
Comparing 8Direction.MovingAngle to other angle I found that it differs, top part of it has negative angles.
To convert it to normal angle I've done following:
(Player.8Direction.MovingAngle + 360) % 360[/code:iz491a9i]
So, for example, -45º is converted to 315º, etc.