A CMOS chip as a buffer (such as 4050) can be added to the parallel cable to use longer wires. Also some resistors will help to make a kind of current loop by placing 2.2-4.7 Kohms close to inputs of the LCD unit.

LCD_Lines CON 2 ' # of Lines on LCD, 1 or 2 (Note: use 2 for 4 lines)
LCD_DATAUS CON 50 ' Data delay time in us
LCD_COMMANDUS CON 2000 ' Command delay time in us

"Data delay time" should be longer, such as 500 microseconds or longer. This will help the commads to reach display safely. Pulse decreases because of cable capacitance and resistance (RC time constant). LCD displays can load data in its register buffers in a very short period but cannot execute it as fast as loading. Thats why command delay time is 40 times longer.