This is not a complete answer, but it answers the question of how Windows chooses a new COM port name:
this, Windows COM-:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter\ComDB
, Windows 7
ComDB"=hex:fc,ff,ff,03,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00
(fc
) , COM1
COM2
COM3
COM8
.