Ich habe zwar gerade keinen RPG-Maker 2003 zur Hand um es zu testen, aber ich kann schon so sehen, dass deine Lösung Probleme hat.
Versuch es einmal wie folgt:
Benutze 2 Events mit Parallel Processing
Event 1:
^ Dieses Event speichert, in welche Richtung sich der Spieler gerade bewegt.
Event 2:
^ Dieses Event überprüft über den Vergleich der derzeitigen X-Koordinate mit der vorherigen X-Koordinate, ob sich der Spieler überhaupt bewegt hat. Falls der Spieler sich bewegt hat wird die Bewegung anhand der Variable BewegungsRichtung nachgespielt.
Alternativ kannst du dir die Variable BewegungsRichtung auch sparen und die Richtung einfach anhand der Differenz zwischen der neuen und alten Position berechnen.