Real serial ports have access to specific standardized resources on PC compatibles. They are usually set by BIOS, but only real serial ports can use these resources.
USB serial ports, like what might be in your programmer, have to be provisioned with resources dedicated for USB devices, and then patched into the operating system's HAL as an abstracted serial port (which windows will identify as COM1, COM2, etc.) This means if you have multiple USB COM ports, which port gets which COM identification can change between boots, in whatever order the HAL decides to assign those values. "Real" serial ports always have the same resources, and the HAL will always assign the same COM designation based off what resources it's configured to use.
If your programmer runs off RS232 straight, find a computer (it's likely your computer already has one, many modern and semi-modern machines still do) that has a serial port on the machine, and use that to connect your programmer. Otherwise you'll have to dive into whatever nonsense Windows operates under in terms of COM port assignments in order to ensure that the same device always gets the same logical COM port assigned to it. If this is the case, the best thing to do is to unplug/disable all other serial (not USB) devices that are given a COM port identifier, so that only one ever exists on the machine (this is what your software will end up using).
I'd find it hard to believe that this is an issue, though, as surely your programming software allows you to change what COM port it uses, so when you reboot you can just manually tell it what port to use, no matter what it's switched to.