In the thread where we ran them on 25/40ft cables, the LCDOUT library routines were over-ridden so the timing could be changed.
Normally, the LCDOUT command gives a 1uS pulse on the enable line.
But as the cable gets longer, 1uS isn't enough.
I used 5uS for the 25 ft length, which seemed to overcome the rounding off of the waveform on a scope.
You might try using the routines from that thread with the modified timing.
Essentially, it's the LCD_AnyPin routines with a few modifications.
Bookmarks