Odio ser reiterativo pero ya en el mes de enero (porque desde el principio tenías problemas y justamente se alarmaba erróneamente la zona 2) te dijimos que estabas leyendo incorrectamente señales digitales con analogRead().
O sea que pasas por aquí a ver si te resolvemos un problema puntual pero no aceptas correcciones y sigues arrastrando tus viejos errores.
¿Cómo puede ser que 9 meses después, y luego de que tanto @Surbyte como yo mismo nos tomáramos el tiempo de explicarte las razones del error de hacerlo de esa forma y que dijeras entender, sigan existiendo esas dos sentencias analogRead() en tu código?
¿Supones que el tiempo que dedicamos a leer el código, tratar de comprenderlo e intentar encontrar una solución es menos valioso que el tuyo?
Por otro lado y para que no sean todas "pálidas", aunque no digo que sea la solución pero podría influir, ¿has verificado que la memoria de SMS no esté llena? Porque no veo alguna parte del código donde se borren los SMS ya leídos.
Saludos