By the way I'm not convinced that it divides by 1024. I think it divides by 1000. I see this code in the file wiring.c
#define MILLIS_INC (MICROSECONDS_PER_TIMER0_OVERFLOW / 1000)
The timer uses a prescaler of 64 to divide the 16MHz clock down to 250kHz, and then the timer interrupts every 8bit overflow (additional divide-by-256.) That's ~976 Hz - every 1024us.
The ISR function adds the number of milliseconds each tick (1, in this case) to the millisseconds value, and SEPARATELY adds the number of microseconds "extra" in each tick to a separate counter. When the number of "overflow microseconds" reaches 1000, it adds an extra millisecond to the millis value, and subtracts 1000 from the overlflow microseconds.
I sorta wrote that code... http://forum.arduino.cc/index.php/topic,37082.0.html