GoForSmoke:
To miss a tick it's only got to be processing an IRQ during the 'tick'. But for 99.999% of use I don't think it's a problem.
Much as I hate contradicting people ...
The timer interrupt (the overflow after 1024 uS) is remembered. It doesn't matter whether or not you are in an interrupt. Or another higher priority one happens next. The only thing that has to happen is that the interrupt is serviced within the 1024 uS before the next overflow (it won't remember two of them). So if, taken altogether, the interrupt is able to be serviced within 1024 uS of the timer overflow, you won't lose any accuracy at all.
This isn't saying the crystal will be 100% accurate, but that's another issue.
Again, Serial.print does not cause an interrupt.
Correct. Well, not directly. Serial.print under version 1.0 puts things into a buffer. And if the flag is not already set, it sets a flag (output buffer empty) which will cause an interrupt to occur (at some later stage) to empty that buffer. If the buffer is not empty then the interrupt will occur when the current byte has finished transferring.