Hi,

The LCD controller takes a finite time to excute a command (the $FE ones) and take in the DATA (character to be displayed). Normally PBP does not poll the busy flag on the LCD to know if the LCD has successfully executed a command (or taken a data) and ready for the next. So the LCD defines assures that data and commands are not passed to the LCD too fast. If the LCD is slower it will definately loose character (s). So the delays assure that the speed of your PBP + PIC is slower than what the LCD can take.

However for your particular problem it is necessary to know what is causing the reset. So I suggested to check the STACK and POR registers. Please post your entire code. Sometimes typos are hard to find (yourself).

If possible post the schematic too.

Regards

Sougata