The EA code is run on every new tick, again and again. Once per bar restricts the flow to one tick per bar.
Now, if all its above conditions are true, the counter block increases its internal counter (0,1,2,3,4....)
In this case, the counter block counts only 1 tick (one bar and one macd cross because our conditions) and passes the next time, because it has reached the number 1.
The reset block is just for cleaning up unwanted effects, because the counter doesnt care if there's a million bars difference between the count increases.
I don't know if my explanation helps any bit, I'm too tired to think straight lol