It's an issue all right. Depends on user configuration. How I noticed it in the first place was that ABM/CrossEPG were not running some days but worked fine on others. It turned out that on the days it failed I had been watching something on the box about six hours previously and had put it in standby afterwards. I have a PowerTimer which puts the box in deep standby after 10 minutes in normal standby. When the box booted from deep about 12 minutes early subsequently, it was sitting in standby waiting for the ABM and CrossEPG jobs to run. Just before the ABM job was due to run, my other PowerTimer shut the box down due to 10 minutes inactivity - result no ABM or CrossEPG!

Probably by changing the "wakeup to standby" setting this issue might be worked around, but you're right in that it would be worse if the clock ran slow.

As regards coding for waking early - the Humax Freesat DVR wakes 15 minutes before a scheduled recording if you have "accurate recording" set. It waits and monitors the EIT now/next data until it receives the trigger that the programme is starting and fires off the recording. Useful if the programme start is delayed for some reason. Totally dependent on accurate EIT data from the broadcaster, though. Works fine for the BBCs/ITVs/C4s. Other broadcasters just trigger the change based on the clock schedule, but the actual programme might have started early or late.