Reliability of serial vs I2C LCD in long-running application

I began deploying some 1284p units using Mighty 1284 bootloader and am having some issues with the unit hanging after some time. These units are to run for 6 months between contact, so I am really concerned with the reliability.

I’ve checked on two units so far and both were hanging at different points in the program.

The thing I notice is that the LCD is in error in both. In the first case, the LCD had the wrong thing written on it (it was showing a different operation state than the one it was in), and it was frozen (wouldn’t react to a button press like it should).

The other had a bunch of garbled letters on the screen, and was also unresponsive.

After doing some research, I found that the old Wire library had some issues with hanging. I was using LiquidTWI, which uses Wire. I have since updated to LiquidTWI2, but I cannot tell if the same Wire library issues will be present.

I am considering switching from LCDs using Adafruit’s I2C backpack to SparkFun’s Serial LCDs. My thought is that with serial, if the LCD fails, the processor won’t even notice and will at least continue to operate.

My main question is: Are Serial LCDs more reliable in long-running applications?

Any input into the LiquidTWI2 situation in relation to the Wire bug would also be appreciated.

Cheers!