Being that the machine lost the time while it was off for several days, but not when it was off for a short amount of time, I'm guessing it is just the battery.
Although, I do seem to remember having a bad version of 'c:setclock' that would screw up my A1200's clock. XD