Millis() se desborda pero no pasa nada, miren el código de ejemplo

  1. Se ve que por suerte y de algún modo se corrige el código, porque en teoría no debería funcionar, pero funciona como si nada pasara.

Aquí el código de ejemplo, se usa la variable unsigned long simuladormillis para hacer el incremento simulando a millis()

unsigned long simuladormillis; // simula millis() iniciando en el valor que se indica más abajo.
int cada; // cada cuanto se imprimen los ....... puntos
unsigned long tiempodedisparo; // para comparar con el simulador de millis.


void setup() {
simuladormillis = 4294967290;  // El límite de millis() será 4294967295; en este caso restamos 20 para dar un margen de conteo.
cada =7; // cada 7 incrementos del simulador de millis, se imprimirán los .......
Serial.begin(9600);

tiempodedisparo = simuladormillis + cada; // Se determina el tiempo en el que deberá entrar en el if.

}

void loop() {

Serial.println(simuladormillis); // Imprimirá siempre el valor del simulador de millis().
simuladormillis ++; // Incremensta el simulador de millis

if (simuladormillis == tiempodedisparo){ // si el simulador de millis es igual al tiempo de disparo
 Serial.println("............."); // imprime ......
 tiempodedisparo = simuladormillis + cada; // da un nuevo valor al comparador
}
delay(200); // retrasamos para que vaya un poco más lento el proceso y se vea mejor
}

concluyo que no se detendría Serial.println("............."); al desbordarse millis().

Te agradecemos pero noter se tomó el trabajo hace un buen tiempo y esta en documentación si mal recuerdo.
De todos modos tu comentario viene a refrendar los conocimientos de muchos.

Acá esta en el 2016 noter respondió a un forero x un problema similar duda millis()

Bien!, gracias por tu comentario y el link.
Saludos