Here is a file with an object with movement in diagonal directions only. It acts differently in one diagonal direction than it does in another - I can't see why it should this. I'm hoping that I'm missing something. Anyone get the same problem?
I simplified the code to remove as much as possible. I took out all of the animation and made each direction have the same graphic with the same x and y point. I removed all of the buttons except for the ones that go diagonally - 7 = up and left for example. The problem still persists. If you toggle back and forth between the 7 and 3 directions, the ship goes at 45 degrees and stays in place. If you toggle back and forth between the 9 and 1 buttons, the ship does not go at 45 degrees and slowly moves up and to the right. The code is so simple at this point, it would seem to be some kid of bug.