What happens if you remove the line?:

DEFINE NO_CLRWDT 1

When I plugged you code into MPLAB and ran the sim, it gave me a watchdog timeout.

Steve