As far as I know, there are currently three types of servicing:
- Automatic servicing, in which the train automatically tries to find a depot, as soon as the train's maintenance period has expired.
- "Service in depot" order. This order will be skipped if the train's maintenance period has already expired.
- "Go to depot" order. In contrast to the "service in depot" order, this order will ALWAYS be executed, even if the train's maintenance period has not yet expired.
I never suggested that a train with permanent damage should be immediately issued a "go to nearest depot" order, as this would indeed severely mess up routes of trains which have a "service in/go to depot" order, as you correctly pointed out. Instead, I suggested that a train with permanent damage should act as if its maintenance period had expired, even if this is not the case. That way, trains would still use their regular depot for maintenance. The only difference would be that trains with an explicit "service in depot" order would ALWAYS service in that depot if they have suffered permanent damage, even if their maintenance period had not expired yet. I still think this solution would be ideal.