I recently bought a USB driven PIC programmer and some of the issues I found may be helpful to others.
The particular model I bought was an ICD2 type device however some of the issues will be common to a number of these programmers.
The ICD2 software performs a self-test and this showed that the programming voltage was too low. If you have a non-intelligent USB programmer then measure the voltage with a meter. Reviewing the Internet I found that a number of postings suggested that these devices need a seperate power supply. I built a regulator which provided 5V from a bench supply and fed that into the USB power wires. This worked fine however, as the USB lead was very thin, I wondered if it was simply suffering too much voltage loss.
Replacing the poor quality USB lead with a high quality one allowed the programmer to be powered from the PC without additional power.
Even with the new USB lead I found that it failed to program most of the time. The fault was diagnosed down to the other leads supplied. The lead that joins the programmer to the board contains the ZIF socket uses the RJ11 plugs. The quality of the plugs and line was fine however the crimp was bad. Re-crimping the plugs solved the problem.
Overall the quality of the programmer itself and the ZIF boards is very good but the leads are, at best, indifferent. Even with the lead issue, these Chinese PIC programmers are excellent value for money.