Rob I think you are in mind still at the point: one Rocrail instance per module. It's clear that this make not really sens and that was not that what MarcBarfuss had really in mind.
But let us stay in the theoretical example that you have an arrangement with more then one CS. The first thing physical you need are what German Teppichbahner call "Schleusengleis". A segment of track, longer than your train, where you can switch the track power to CS A or to CS B. Otherwise you will get a short circuit when the train cross the border between the two CS.
I thing synchronizing this with the train movement could be done by routes, actions and global routes, this shouldn't be a problem. To transfer the Loco seamless from one CS to the other, Rocrail instance A has to announce the loco an instance B, when entering the global route. When the loco is leaving the global route Rocrail instance A can deactivate the loco by setting the speed to zero. In the meantime all loco commands from clients connected to instance A or B should raised on both instances. If you can trigger a special event by the action that switches the track power, then you perhaps can use this also to roam the loco from one instance to the other. This event should be also announced over the network.
If there is such a event, a client can determinate that his loco has changed the server / CS and connect to the new server.
As far my theoretical minds. What doe's this mean for your specifications MarcBarfuss?
First you must be able to install "Schleusengleise" between your segments. Longer than your longest train and isolated from the rest of the arrangement. No real problem, when you use a normal electric as other modular railroads.
You need an electronic which can supply the "Schleusengleis" by CS A or CS B. This can be done by a simple relay and an decoder output.
The most important thing is, that you need a monitoring system for this area, so you get feedback signal for the global routes. If you monitor your hole layout then it is no problem just place the locos in the right block at the beginning of the session. If not, then you have do this placement by hand when you enter the block of global route or you need an identification system at these points as I have mentioned in my last post.
In conclusion MarcBarfuss, don't worry about that topic. The backend of the Rocrail architecture should be powerful enough to handle this. And when you will run in this problem in real life, I thing also the user interface will have this feature and will handle this handy. Otherwise raise then a feature request. But I think especially the "Teppichbahner" will be faster then you, not necessarily because of a bottleneck in controlling locos by one CS, but because of their heterogeneous control electronic.
Rob the problem with the IID is, as I see, that it is static. It don't solve it when you want to roam a train from one CS to another. If he do so you, it would be necessary to change his IID.