The trouble with it is that it will ignore an ACK that comes in while strobe is active (this is how the hardware actually behaves - the strobe active signal is connected to an asynchronous set input of the acknowledge latch, so the clock input will be ignored). I had a quick look at what was going on, and the AP2000 was occasionally acknowledging a byte very quickly, before the end of the strobe pulse. If you’re seeing time move backwards, it could be an issue with the printer’s CPU taking a timeslice longer than the strobe timer interval.

How is the AP2000 implemented? At a quick glance, the only scheduled device seems to be the µPD7810. How does it generate the delay? Does it do something that just subtracts a large number of cycles in its execute loop?