As the author of a PIC programming package (WinPicProg - probably the first Windows PIC programmer?), perhaps I can throw some light on the problems with XP etc.
Simple PIC programmers, either parallel or serial port, work in a similar way (in that they don't really use the parallel and serial ports) - they actually 'wiggle' individual pins up and down, creating a synchronous serial output and input, along with various HT switching outputs.
Under 16 bit Windows (3.0, 3.1, 95, 98, ME) you can directly manipulate the hardware, so it's easy to drive the ports. Under 32 bit Windows (NT, 2000, XP) you are prevented from direct access to the hardware - in many ways this is really a good idea!. Assuming you are programming a PIC and someone trys to print using the same port (easy to do over a network), it's going to seriously upset things - under NT based systems the port would be reported as busy when the second event tried to use it.
BTW, I do know that 95, 98 and ME are also 32 bit, but they seem more like 'half way' from 16 to 32, and give us a little of both.
So to access the port you need to do so in a way that meets the requirements of NT, which basically means a driver. The one I use is a freeware driver called DLPortIO.DLL, this is installed ahead of WinPicProg which simply calls routines within it that 'wiggle' the pins for you, but in a way acceptable to NT.
Other programmers deal with it in different ways, as already noted IC-Prog uses a driver you can optionally select or not - I didn't do this as the DLPortIO.DLL driver will work on any Windows from 95 onwards. As all versions have been 32 bit only since I changed from Windows 3.1 they won't run on anything less than 95, so there seemed no point making a switchable version.
You 'should' be able to get a PIC programmer running on any version of Windows from 95 to XP, if you are having problems (and are installing the correct drivers for NT/XP) it's quite possible that even changing back to 95/98 might not cure the problem.
I seem to remember that Win98 is still the most widely used Windows system, it's certainly the one I still use - I've never seen the need to change to a later one, they seem to give more trouble than they cure.
"If it ain't broke, don't try and fix it!"