It is most likely a problem with watchdog reset.
On the development board, you have the option to disable the watchdog by setting the switch, but on real silicon, watchdog reset needs to be taken into account.
One thing you can check is to enable the watchdog reset on the dev board and if the device starts to fail, you have probably forgotten to "iowr watchdog" in your program.
Are you sure the silicon is programmed correctly? The following programming failures may cause the chip not to function, assuming the Hi-Lo programmer is used.
- No .hex file was loaded onto the buffer. This results in the chip being programmed with 0x00.
- The part being programmed does not match the device selected in the Device menu.
- An incorrect .hex file has been programmed on the chip. To verify, use the Read feature to compare the checksums of the program on the PROM and the file on the buffer.