30 Second Timer + LED Display + Pager Motor HELP!!

The millis function returns the number of milliseconds since the Arduino started. So when you read this value into a variable holding the start time, you can get the amount of time elapsed by subtracting the current millis reading from the start time. It won't matter if you delay for 5 milliseconds as long as the delay finishes before the desired end time, the calculation for start millisconds – millis will return the elapsed time to the nearest millisecond.

In other words, your timings will not be increased by this 5ms delay.