Can this have something to do with the millis rollover? approx 9h30 on
older software 49 days on release 0012
I don't have any hardware yet, but I would try something like
uint8_t oldSREG = SREG;
// disable interrupts while we write timer0_millis or we might get an
// inconsistent value (e.g. in the middle of the timer0_millis++)
cli();
timer0_millis = 0xF800;
SREG = oldSREG;
You can read the millis function and find the time for rollower.
If it takes too long time to rollower, you can increase the 0xF800 constant.
You will find the millis() function in wiring.c
Magnus