Si el array_pop() te está siendo de utilidad, supongo que algo en la lógica no anda bien, porque no veo la necesidad de leer 25 filas y eliminar la última.
Esto me hace preguntarme: qué pasa cuando obtienes menos de 25 filas?
Lo de la comparación, a todos nos pasa, ya sea por error al teclear o una breve distracción mientras programamos y luego nos tiene batallando horas por algo que parece "tonto" cuando lo encontramos, pero no estaba tan a la vista al revisar... al menos a mí me ha pasado... y mucho más de lo que desearía reconocer!