To expand on the suggestion in my previous post, the logic could be something like this:
(Any part of train is on reversal point OR in the extended path beyond the reversal point)
AND the first switch that OR must change to implement the path after reversal is behind the train
AND the train is stopped and the reverser has changed direction
THEN do reversal and remove reversal point from Track Monitor
If it is necessary to get behind a signal as well then that could be left for the player to work out.
Do we know how Railworks did it, admittedly they didn't handle legacy MSTS scenarios?