If you can't reproduce the issue, could it be a hardware issue? A problem caused by the map? I've tried it on several different maps, and the same thing happens for me every time. I've tried putting print statements in pretty much every place I can think of, and on_restarted() isn't getting called unexpectedly anywhere.
The behavior you described sounds like an issue I was having with this enemy a long time ago, but this code has been changed a bunch since then.
As for your other comment, you're right, that line in look_around() was supposed to set the sprite direction, not the path.