Virtually, the Arduino Uno will show up as two serial ports
Why not use some means of interprocess communication (IDE to Monitor) and have serial monitor close/reopen the port before/after upload rather than force a close of the monitor application?
I envison this would be a fairly simple extension to program and would also be backwards compatible with the older FTDI designs.
That will only solve the problem for the Arduino IDE, which I do not use
People use terminals such as RealTerm or Tera Term, how would you handle creating interprocess communication between all the different possible terminal software and the IDE?
The dual virtual serial port solution will not have such a problem