Hello,
The warning signals in Trainz have always been an annoying problem (for me). I have initiated a forum thread about this several years ago. The yellow means that the driver has to make sure that he/she is able to stop before the red. In the Netherlands, slowing down before a yellow is not mandatory. So the yellow can be passed at line speed but from there the speed must be reduced to 40 km/h or less in preparation for a stop. If there is an additional speed board attached to the yellow signal, that panel indicates the speed that must be attained at the next signal.
For my Belgian semaphore signals, I have changed the code in Trainz, based on Bloodnok's original code, such that trains do not slow for anything else than red. In Trainz, a red "signal" is felt by the train quite a long way before the signal. It works well, although there are (a few) locos that tend to override red signals even though they slow down in advance. This is usually because their deceleration parameters are incorrect, I think. The adaptation of the code has been quite a lot of work. The Belgian system has its specific aspects, and to emulate these I created additional "targets" similar to Bloodnok's.
Trainz is very inconsistent with the slowdown very much in advance of a yellow signal, since the reaction of a train to a speed board is quite the opposite: extreme deceleration just a few tens of metres before the speed panel.
I wish that more tuning of the behavior of trains was possible. However, it seems to be hard-coded, unchanged over 20 years.
Regards
Paul