I can not believe that this is still a problem after 2½ years.
Not having the confidence to seperate the LCD from the board (and wanting a permanent solution) I am going to make a shield board that goes between the LCD shield and the UNO. This will allow me to add the components between the shield and UNO and give me a permanent protection.
Don't forget that do to a screw-up many years ago by the Arduino team, Arduino shields use a non standard pin spacing so you can just use a protoboard with headers on it for your intermediate shield. You either have to buy a pre-made shield or use stacking headers and bend them to get them to get them to align with the non standard spacing.
... you can't use a typical silicon signal diode like a 1n4148 as the voltage drop is too high and the backlight will not go all the way off. I used a germanium diode 1n34a - which worked perfectly ...
Germanium diodes age with time.