Cactus Music
As I said, I don't think any of us understand what your problem is. We totally get that you have changed your system and we all totally get that this will result in what you are describing but we don't get what your "problem" is with that.
Well, some people understand what the problem is...
There is a BUG in Sonar. I am not sure when exactly it was introduced, probably in the version when they have made MIDI ports "more persistent".
Sonar identify existing MIDI ports by names. That is a questionable decision by itself (f.e. the reason why more then one instance of some USB-MIDI devices is impossible to use), but it has one logical advantage: if you let say have "MY_MIDI_DEVICE" and use it as MIDI input on some track (for using more then one controller in parallel, fighting with "MIDI Leaks" Sonar bug, etc) or as a Control Surface, you can expect "MY_MIDI_DEVICE" will be set as the input even when MIDI configuration is changed, as long as "MY_MIDI_DEVICE" exists (or re-appear) in the system. Unfortunately, that is not the case. That is clearly a bug. And that is a problem for OP.
I (and many other) observe this bug (with hi probability the same, but I am not 100% sure) in a more weird way. If "MY_MIDI_DEVICE" is assigned as an input for some Control Surface plug-in, after MIDI configurations is changed, it is still shown as the input for this plug-in. So everything looks good. But it only looks good, in reality the input is shifted to some other device... Temporarily re-assigning the input to another port, apply, assign to correct one most of the time fix the problem. In worse case, INI files wiping is required.
For someone the workaround with "fixing" assignments is not a big deal. In other that is rather annoying. I think it is incorrect to claim that no one see that as a real problem.