Du Hast im Config Register den MCLR Pin ausgeschaltet.
Versuche doch mal testweise den MCLR Pin zu aktivieren und lege ihn über 10 K an +5 Volt.
Dann probiere ob der PIC immer richtig startet.
Und wenn der MCLR kurz an Masse gebracht wird muss er einen
"richtigen" Reset ausführen.

Führst Du nach einem Reset einen kompletten RAM Clear aus ?
Das ist sehr hilfreich, damit Du immer mit gleichem RAM Inhalten
startest. So lassen sich eventuell versteckte Fehler schneller auffinden.

Bei dem PIC18F252 kann es passieren, daß er den Resetvector NICHT
erwischt. Hier hat Microchip vorgeschlagen bei ORG 0 zunächst
2 NOP Befehle einzufügen. Vielleicht hat dein PIC ein ähnliches Problem
ist jedoch nicht im Errata Scheet deines PICs zu finden.
Aber die beiden NOPs schaden in keinem Falle.
mfg. Siro