Hi Darrell, yes - erase before programming is on. If I read the device after erasing it comes back as 3FFF's , Meprog also correctly recognises the device as an 18F4431,

The programming error I get seems to flip between 0000 and 0018. It seems that sometimes it manages to start programming and then gives up after a few words.

I do have the original USB programmer. My dilemma now is trying to decide:

1) Is it the PIC itself - in which case I might try my luck at complaining to Microchip and getting some replacements.

2) Is it the programmer - in which case I need to decide whether to go to a U2 or a PicKIT

3) Is it the user - in which case I'm going to go and chop up some wood on my bandsaw and then spend several hours planing and sanding it and getting back into equilibrium with my inner self. Or have a few beers and a curry

Thanks for your persistence in trying to help me

Andrew