I'm not sure what you're asking... Either you're trying to do something complex that I'm not grasping, or you have no understanding on how a computer clock operates.
I can assure you that neither assumption is true, so I must not have explained myself clearly.
Here it is, step by step:
1) When I boot my OSD, the time is behind by about 55 minutes. This is very constant across many repetitions. Note that this is just less than an hour. Normally, when things are off by an hour, it is usually a DST issue; that is a possibility here. (If they are off by an integer number of hours greater than 1, it is usally a time zone issue)
2) I telnet in and set the date/time via the Unix "date" command. I watch the on screen display and within a few minutes, the on screen display (which I usually refer to as "the GUI" - note that most other consume products in the same general genre as the OSD refer to this as "the on-screen display" or the OSD; obviously, that term is already taken here...) refreshes itself to the new time. Note that this refresh doesn't happen immediately, but that's OK.
3) Now, the thing is, I think that when I first got the unit, it in the winter, and I set it via the menus (i.e., via "the GUI"). Since then (i.e., after DST started) I have always set it via the Unix "date" command. So, you see where I am going with this - I'm guessing that on reboot, it is picking up the time from when it was running in "standard time". Now, having written all this, I could have tested it myself (setting the time via the GUI), but I actually don't have the time/inclination to do that - I've got a lot of things going on and not that much time to devote to hacking the OSD.
4) Note that I don't know that much about Linux on ARM, but I know a lot about Linux on x86, and, as you know, one of the "features" of x86 hardware is that it maintains 2 different "time"s - the system time and the hardware clock time, and it usually takes some explicit command to sync them. In DOS versions prior to 3.3, you had to manually sync them; as of DOS 3.3, it is done automatically. In Linux (on x86). there is the "hwclock" command that you must use to keep them in sync. I checked and found that the OSD does not have the "hwclock" command; I assume that means it is not necessary. But, the point is, if you are running Linux on x86 and set the system time, but don't set the hardware clock via hwclock, then the time setting is lost on the next boot (it reverts to whatever it was before).
Does that clear things up?