Things are not "now and then", they are always "now". And you can expect that as I can see, because you are using "Once per tick" block, which is actually not needed.
So, when you have conditions like this - one after another - if the first one is not true, the next one will not be checked at all. Let's take "5 MA x> 50 MA" for example - this condition can be true (the block can pass) multiple times in one specific candle, but not all the time after that condition. "5 MA > 200 MA" can, it is always true and the block always passes (if executed) when MA5 is above MA200.
Play with this to see different crossover situations and what is going on: http://fxdreema.com/shared/tpuyHHxdb