Oh it does not loop (step) when against the wall ? I did't notice that. Got to re look at it.
About: 'shouldn't the move left/right animations be resetting to frame 0 every tick?'
When you use the action 'Set Animation' .... then the animation will change ONLY when ...
The new animation is different then the current playing animation, OR, when the current playing animation is in the state of 'stopped'.
An animation is in the state 'stopped' when you used the action 'Stop' or/and when a non looping animation reached the end of frames.
Usually i do not set the walking animations to 'looping'. Because they are set on 'Key is down', a continuous 'every tick' condition.
Key is down (or vectorX =not zero)
__________Set Animation "walk" (from beginning)
When "walk" is not looping, that action will do nothing as long as "walk" is playing, when "walk" is stopped (animation is at the end), that action will restart the animation, effectively looping the animation.
I did not check this on the capx, btw.