Hallo,
das eigentliche Problem ist: Wo bekommt die Lok die Signalinformation für das ZUB-121 her?
1. Die erste Möglichkeit ist der Call "GetNextSpeedLimit", bei dem bis zu einer Entfernernung von 2000 Metern der nächste Signallink von Signalen sowie weitere Gleisinformationen ausgelesen werden können. Diese Abfrage führt die Lok selbst an beliebiger Stelle durch.
2. Dann gibt es die Schnittstelle "OnCustomSignalMessage", bei der das Signal eine Nachricht mit einem Argument an die Lok sendet. Dies passiert ausschließlich, wenn ein Link 0 vom Signal in Fahrtrichtung passiert wird und wird somit ausschließlich vom Signal aus initiiert.
Der Call in Punkt 1 kann nicht alles abbilden und versagt komplett an Kombisignalen, da an dieser Stelle keine Vorsignalgeschwindigkeit ermittelt werden kann. Da aber auch die Gleisgeschwindigkeit und Gleisende ausgelesen wird, kann man nicht darauf verzichten.
Über die zweite Möglichkeit bekommt die Lok die PZB Nachrichten (1000 Hz, 2000 Hz, 500 Hz) übermittelt. Und genau diese Funktion kann mit abgewandelten Argumenten diverse Informationen von den Signalen direkt an die Lok übertragen. Somit kann dann auch ein ZUB-121, egal in welcher Ausführung, zuverlässig funktionieren.
Bei meinen Signalen auf der B42 Strecke sind diese zusätzlichen Nachrichten derzeit nicht eingebaut. Es gibt hierfür auch keinen Standard. Sinnvoll wäre es, es so weiterzuführen, wie es bei den Rivet-Strecken bereits eingebaut wurde.
Dabei ist es auch unerheblich, welche 3D-Objekte im Gleis liegen. Die Nachrichten kommen immer von den Signalen. 
Gruß Schuster