Ah, hab Deinen Post zuerst falsch interpretiert. Ich dachte, der Workaround funktioniert nur, wenn das Event immer den maximalen Weg bis zum Ziel zurücklegt. Aber Du prüfst ja auch nach jedem Schritt, ob das Event stehen geblieben ist.
Edit: Funktioniert einwandfrei, danke.