Try few 0.1 uF + 10uF tantalum close to your pic when programming. If you have 2 Vdd, then you use 2 0.1+10uF. PGM pin load to gnd with <10k.

Try to measure the MCLR line, and see if it's high enough... >12 V at very least.

I already had some weird issue in the pas when the PIC programmer was too close of the PIC... weird, but happen.