Data in Arduino UNO's EEPROM changes after 3-4 days randomly

I remove the Serial.println commands to trim the code size before posting here. I have edited the code in the question slightlys, everthing else is as it is. I print the offset value once at start up and hourly also. Pin 2 of the arduino is used to request for change of offset value, but is called rarely.

@sterretje, your reply at sl# 2 needs more explaination. Thanks