Two years without power. Mega2560 has lost or corrupted it's program.

About 6 years ago I used a mega2560 for a project. It gets used once a year for the Christmas parade .

For unimportant reasons, it didn't get used for 2 years, so it's been without power since Dec 15th, about 32 months. When I powered it up.....nothing. That is to say, it just didn't do what it was programmed to do. I removed the Arduino from the float, reprogrammed it (without any problem), put it back it the float, and it ran perfectly.

It appears that my program had some how been lost or corrupted. The bootloader was ok because I was able to reprogram it first try. This isn't a life/death problem, but it is puzzling. I thought that the program memory was suppose to last 99 years.

Has anyone else experienced this?