I have found that a Microchip ICD2 can program any part - properly (and can debug too). Even though it costs more, the time saved in debugging a programmer problem is worth it. And it programs EVERY PIC.