Uso correcto de display y LCD (novato en apuros)

Tienes que definir variables obviamente como globales asi que te pondré algo como // globales y tu sabrás donde van.

// globales
byte estado = 0;
unsigned long start;

//luego en tu loop

if(inicio == 1) { 
  switch(estado) {
      case 0: lcd.blink();
                 digitalWrite (ROJO, HIGH);
                 digitalWrite (buzzer, HIGH);
                 lcd.print("ROJO ENCENDIDO");
                 estado = 1;
                 start = millis();
                 break;
      case 1: if (millis() - start > 5000UL) {  // equivale a   delay(5000);
                      digitalWrite (ROJO, LOW);
                      digitalWrite (buzzer, LOW);
                      lcd.clear();
                      lcd.noBlink();
                      start = millis(); 
                      estado = 2;
                  }
                  break;
      case 2: if (millis() - start > 1000UL) {  // equivale a   delay(1000);
                     estado = 0;
                  }
                  break;
      }
   } // fin del if

Igualmente no aseguro que funcione, porque hay que pensar en todo el código y no en parte del mismo.