Quote Originally Posted by mister_e
mmm, i don't know but you really have a PIC with a faulty internal pull-up?
If you add a external pull-up it works?

Is there any chance somewhere in your code some pin change from input to output? in this case it could disable some internal pull-up but...

Maybe some electrostatic discharge burned it? but if so... i guess it should go deeper than only the internal weak pull-up no? Strange...
Yes, I think that last part should be it. I have an ICSP arrangement, with +5 to the target being supplied exclusively from an external supply. At times, when I'm not working on the project, this supply is switched off. And the programmer (an Epic clone), still connected to the PC, keeps the Vcc (not an issue in this case) *and* Vpp high, unless the programmer s/w (WinPic800) is initialised (loaded). The Pic therefore is exposed to Vpp without getting Vcc.

I think this kind of abuse might have caused the damage.

And yes, I confirm that external pullups work.