Hallo,
zur Eingrenzung würde ich auch Debug-Code einfügen und in ein Logfile schreiben.
An der Stelle, wo der Bon mit 0-Datum rauskommt und dann immer weiter nach vorne hangeln.
Das ganze jeweils mit Zeitstempeln versehen und zwar alle Formate, die Du im Programm verwendest.
Eine Alternative wäre, ein Programm zu schreiben, dass sich in Int $1A einhängt und jede neue Sekunde zunächst in den Speicher schreibt und dann in ein Logfile ausgibt. Das ganze als
CSV so strutkurieren, dass man es gut in EXCEL importieren kann.
Vielleicht ergibt sich ja wirklich eine Unregelmäßigkeit der Uhr. Die könnte z.B. durch andere Programme verursacht sein, die auch am Timer-Interrupt "rumbiegen".