Problem programming Arduino Micro

I think I figured out part of the problem.

When you plug the Pro Micro board into the USB, Windows sees the VID and PID and goes searching for a driver. But the SparkFun Pro Micro board resets itself out of the bootloader in the meantime and has a different VID and PID or at last a different PID when Windows gets done searching for a driver. Since it doesn't see the same PID, it assumes that the device was removed and so it indicates "Device unplugged".

I am not sure how I can force it to load the correct driver and overcome this problem.

Which brings up another problem. I have seen where the COMxx changes after it starts to upload the program. Then of course it will not complete the upload because now it would need to be talking to a different port. Am I correct that this problem was because the Pro Micro board didn't wait long enough (it is set for one second after reset) for the uploading to start? It used to be 8 seconds, but the latest versions they changed it to one second.

A solution to this problem might be to force both COMxx ports for the Pro Micro to be the same port. I did try that, but maybe I was still having other problems.