Welcome back Andrew! All instances I can recall of instances losing their set times have been battery issues, and could possibly have been that the hwclock -w command was never run, which could be the case if ntp servers were not available at the time of manufacture and when you checked it first. Unless these are particularly old, there should be a primitive script to avoid this issue at /opt/control/saveRTC.sh
It does seem unlikely to be the battery losing contact for some period during shipping, but it is possible.