I don't think a 10k pullup resistor was your problem. I do that all the time without any trouble at all...well, at least with a (real deal) PICkit programmer. Thanks for sharing the article - good tips there.
To program a PIC, the programmer must be able to change the state of the PRGD (data pin) and PRGC (clock pin). Anything connected to these pins that prevents this from happening will cause issues. The programmer needs to have enough drive to counter any pullup or pull down resistors connected (PICkit will hand 10k resistors) so low value resistors will be an issue. Large capacitive loads will cause problems because they round off square wave signals. LEDs not connected with current-limiting resistors will be a problem too, as they clamp the maximum voltage to Vf of the LED.
A sure-fire way to screw things up are
closed switches across the programming pins. In this case, you'll see DEVICE NOT FOUND errors because the programmer can't talk to the chip.
I was recently using a the PICkit 2's logic analyzer connected to the ICSP connector to toggle Port B pins for testing.
PICkit 2 Logic Tool Trap and the following comments tell my tale of woe.
MrDEB, I suspect your 10k resistor was actually some lower value - much lower. The only time I've seen Vcc errors reported by a PICkit 2, there were power supply issues, like being shorted to ground through a low value resistor. Another error I've seen is "CAN'T CONTROL Vpp." This means the PICkit can't change the voltage on /MCLR. When I've had this happen, /MCLR was shorted to +5. I don't believe the PICkit 2 will give you Vcc errors for PRGC and PRGD - I don't think it measures the voltage on those pins. Either programming will fail or the device won't be recognized depending on the type of fault.