Battery contacts do fatigue and may need to be bent back up after a while to make a good contact.
Rechargeable batteries are best avoided in any "backup" product because they usually self-discharge after 1-2 months, so they are likely to be flat right when you need them.
Regarding software design, I am afraid that a lot of avionics is still in the 1970s. Garmin handhelds for example don't contain a hardware watchdog timer (cost: 50p) and some are known to crash and freeze up occassionally... I once discussed this with a Garmin engineer and he gave me some reasons for them not using a watchdog (e.g. the time to re-acquire a fix after a watchdog reset) but all of them were easy to solve and have been solved elsewhere.