How to use the Wait action
Also wait 0 sec will make the following actions execute on the next tick of execution.
Wait and timers have different use.
In this case though, timer is likely a better idea. You need to "block" your character for a given time, the best way is indeed to change its state, run the timer, at the end of the timer modify the state again.
And make sure that during the "blocked" state, everything is indeed blocked as intended.
A triggered event only happens when the conditions to its execution are met and are generally "external" (a collision between two object, a user's input, ...).
They are notified by the green arrow next to it.
They are not "checked" every tick, like other events are.
By the sound of it, you are perhaps looking in the wrong direction though.
If your arrows still allow to change direction, are you sure it is not in your keyboard events that something is messing up the overall logic.
Again, hard to tell without seeing all the events and logic you did put in place.