Not sure if this is the case here, but if your event has tabs and he's half way through moving when the condition for the next tab becomes true, he'll stop moving.
eg - Tab 1: Set move route (down, down, down)
Set Self Switch A ON
Tab 2 (conditioned by self switch A)
He won't actually move - or maybe just one step. In this case, a Wait for Move's Completion just after the Set Move Route would solve this problem too.