Hi, Luke,
The cross did happen, cTrader moving average indicator lines are recalculated (repainted) with new data as new candles close, so if you were watching the charts in real-time you would see the cross, but a few candles later the lines are recalculated.
If you set the timeframe to 1-min and watch the chart you will see the lines repainted as the candle is forming, so if a cross occurs on the close of a candle, on the next candle the lines could be repainted and show that it did not cross.
Repainting is part of the formula for moving averages to show the average price of data over a period of time.
If you run a backtest you will see the system identifies crossovers most of the time but on rare occasions the lines are redrawn to show what you are seeing, one method to prevent this is to use different indicator periods.
Another solution is that we could add a new feature to wait (x) bars before checking for the signal to prevent this from happening, you could post this suggestion to be reviewed for a future update.
https://ctrader.info/t/new-suggestion