Your .HEX says that you're using a XT osc... but your code says... DEFINE OSC 16... it has to be HS

MCLR is enable.. not sure you handle it on your PCB or if you're using it as i/o in your program.. not seen in your program 'till now...

Now you see some advantage to set the fuses in your code?