The only reason I could think of is when the controller rebooted due
to power outage, and then it was unable to get NTP sync, say, because
your Internet connection is not up yet or because NTP sync is disabled
in setup. But as long as the NTP sync is enabled, it should re-sync
every 1 hour and get the correct time if the Internet connection is
up. I suggest that the first thing you should check is whether there
have been power outages and whether the Internet connection was down.
If this is indeed the cause, there are two potential solutions:
1) Install a backup battery as described here:
http://rayshobby.net/blog/?p=1032
As long as the microcontroller is running, it will not lose its
current time.
2) Or if you can re-program the controller, you can add a long delay
time at start up. This is to make sure that the Internet connection is
up when the controller tries to do NTP sync.
Installing it on the outside wall shouldn't matter, unless if you
think the temperature is extremely low or water might have got into
the controller.