Its not the firmware, its something with the hardware.
My LCD is wired as per the Wiki table and works fine, so it has to be wiring error or a faulty LCD.
Fit a Ferite core on the cable and ground the screen(drain) wire on the cable.
Have you wired it by colour or by Dsub9 pin numbers? as some serial cables have different colour scheduling, as I found out back in 2007.
You could also do with a little more solder on the LCD pads