PaulS:
but Windows didn't
Until it's rebooted, which, because it's Windows, is generally twice a day.
If you are still running XP, That may be true (I don't run it any more). If you are running Win 7, a reboot does not reclaim the COM port numbers. I have rebooted many times (hundreds of times), since I bought my current machine, and it has been collecting COM port numbers across those reboots.
But then, why bother? It will work just fine if your Arduino is on COM 16.
As long as nothing else is interfering. Which, in my experience, is not the case, when there get to be multi-digit port numbers.
If you are using Windows 7, I think there must either be something wrong with your system or you need one of more updates.
You can use COM ports all the way up to 256, and a COM port will not be assigned to any number that has been assigned to another device, regardledd of whether or not that device is still attached. So, there will be no conflicts, unless your OS is broken.
Check out the attached pics. I have only 3 devices connected that use COM ports, and they are COM9, COM 13, and COM18

