I have a feeling that the Else statement is screwing you up. Let's see what happens:
- checks if walking, plays the walking animation
- then if the above fails, it plays standing animation
- now check for key pressed, in this case it starts another animation
After one tick, it checks those events again, but the "key pressed" already triggered in previous trick, so it won't trigger in this one. Meanwhile, the above two events had triggered already, resetting the animation to either one. So, your X animation only plays for one tick.
I suggest replacing the Else event with this (right click the condition to invert it):
+ is NOT walking
+ X-animation is NOT playing
play idle animation
Also, you might want to add the "X-animation is NOT playing" condition in walking animation event, too.