Arduino creating delay function
You can try something along these lines:

void verboseDelay(unsigned long ms)
{
    unsigned long now = millis();
    Serial.print(F("delaying"));
    unsigned long start = now, lastPrintTime = now;
    do {
        now = millis();
        if (now - lastPrintTime &gt;= 20) {
            Serial.write('.');
            lastPrintTime += 20;
        }
    } while (now - start &lt; ms);
    Serial.println();
}


The trick is to used unsigned long for all the time-related variables,
and also to avoid printing too fast.