Dann lag ich ja doch nicht so falsch.
Das ist schon merkwürdig, was da passiert.
Das klingt so, als wenn dein Configurationword nicht richtig programmiert wird.
Ich vermute mal Du arbeitest mit MPLAB 8.xxx
Dort kannst Du einstellen ob das Configurationsword vom Programmcode oder separat (Manuell) eingestellt wird.
Menüleiste "Configure"
Da gibt ein Kästchen "Configuration Bits set in code." Dieser Haken muss gesetzt sein.
Ansonsten könnte es auch am Programmer bzw. den Einstellungen liegen.
Du kannst, je nach Modell einstellen, ob das Configuration Word mitprogrammiert werden soll oder nicht.
Was benutzt Du denn zum Programmieren ?
MPLAB Version / Programmer ?
Vielleicht solltest Du mal ein "Bulk Erase" machen . Also den kompletten Chip löschen.