Arduino board & stability

See here for how to reset the timer back to zero:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1167861718/4#4

Actually, now that I look at the code for delay(), I'm not sure a hang will occur after all:

void delay(unsigned long ms)
{
    unsigned long start = millis();
    
    while (millis() - start < ms)
        ;
}

For example, suppose the first call to millis(), where "start" is initialized, returns the maximum possible value right before the overflow (something like 0xffffffff). Then the wraparound occurs, and millis() starts returning values just above 0 again. Then (0 - 0xffffffff) == 1 (i.e. two's complement underflow occurs during the subtraction), but that is the correct result, because 1 millisecond has elapsed. So it looks like this might work right even during a wraparound.