Hi Steve:

Here is the of code:

main:
manual=0
xmt=1
PauseUs 12
IF GPIO.2=0 Then
manual=1
Pause 1000
manual=0
Else
manual=0
EndIF
PauseUs 24
xmt=0
NAP 3
GoTo main

it's part of a cheap touch sensitive switch!

if I replace the NAP3 with Pause 150 I can reprogram the chip any number of times. But using the NAP 3 the device reports the following error:
Program: address: 0000 buffer=2837 device=3FFF

And that's it. It acts like an OTP. The chip works ok though but can't reprogram!

I always erase even new devices before programming. I use Internal RC osc.

I mentioned PICALL just in case it's the programmer causing it. It's connected to the serial port & I checked the communication speed and its ok.

I've lost too many 629's and am stumped.