[not a solution, but info worth sharing]
Hi Jonathan,
when I read your description my thoughts went back to that time my Garmin Geko 201 (small GPS tracker) recorded a date 15 years back in time.
Digging around I discovered that GPS/NMEA carry a 10 bit "week" information, which makes a rollover every 1024 weeks. But quoting a search result (written in 2013):
The last rollover (and the first since GPS went live in 1980)
was 0000 22 August 1999; the next would fall in 2019, but plans are
afoot to upgrade the satellite counters to 13 bits; this will delay
the next rollover until 2173
So what you are seeing is not due to a week rollover, even though my Geko 201 showed the problem in 2010 (and others too).
Perhaps Motorola hardcoded a "starting date" that matched a week number and counted from that point. Then a software variable has overflowed or 1024 have passed and you're back to "Oncore UT day 0".
If the delta_days is constant you might add it to your code right after reading the date information? You might discover is it some integer number falling within powers of 2. :-)
Paolo
PS: Garmin has issued a firmware update for the Geko 201. But I doubt I will get a new firmware in 2019...