Parece que nos encontramos ante otro misterioso caso de optimización de código
bosterito, lo que ocurre es lo siguiente como no utilizas el valor de "va" para nada, el compilador, que es muy listo, simplemente omite todo ese código innecesario. Por ejemplo, prueba a colocar esto en tu código:
Código Delphi
[-]
if ( mm1[j,i] = 90 ) then
begin
va := -1000;
va := -1000;
va := -1000;
ShowMessage(IntToStr(va)); end;
Ahora ya utilizamos la variable va para algo, así que el compilador ya no puede omitir ese bloque de código.