I think if you turn off Always Echo Current MIDI track, you'll find that the behavior is a lot more consistent and predictable when MIDI ports come and go with a project open. But I think your "Not Responding" issue is related to the specific USB-MIDI driver your keyboard is using.
I double-checked all of this, and found no issues. I can turn my MIDI interface on and off at will regardless of the project state, and all that happens is hardware synths go silent because they're not receiving MIDI. If I do it during playback, the sound goes away and comes back without issue along with the ports. Softsynth MIDI, Audio and Simple Instrument tracks are completely unaffected by hardware ports coming and going.
And port assignments do not change except when opening a project with the interface turned off. Then Inputs will show "None". But if you close the project without saving, turn the interface on, and re-open the project, the original assignments are restored.
Problems arise when you have Always Echo enabled and there are soft synth outputs available to set as Input for MIDI tracks when the hardware ports go away. And if you save a project with the wrong ports assigned, naturally, it will come up that way the next time you open it.
Actually, the None/Omni thing is working better than it used to. With Always Echo enabled, the input of a track will switch from None to Omni when it has focus, and switch back to None when the focus moves to another MIDI track. Moving focus to an audio/synth track leaves the last focused MIDI track at Omni, which is also a good thing, I think.
Hope that helps explain some things.