Hola pacopepin.
La condición del código de tu primer mensaje, está correctamente definida y tendría que funcionar del mismo modo para las diferentes formas de expresarlo, eso quería resaltar en el mensaje anterior.
Nunca me ha sucedido antes (o no me enteré
) y luego de leer tu mensaje traté de forzar el caso con Delphi 7 de varios modos sin lograrlo, lo que era de esperar ya que comentas que sólo te ocurrió tres veces en tanto tiempo.
Creo que la causa mas plausible es la que sugiere
Casimiro en el mensaje
#3. Tal vez el compilador tratando de optimizar el código, en algunas condiciones, cambie la lógica del predicado.
Saludos