Fabio,
>LOCATE FOR A=NULL && i compare a logical NULL AND, correctly, NOT found it
You
can not use NULL in a logical expression. NULL will never ever equal anything. This is why I posted earlier that you don't fully understand what null support means.
LOCATE for isnull( a ) && will find the first row with a null value.
Enter this in the command window:
? .null. = .null.
And you don't get .t. or .f. you get .null., because any operation that involves a null value must return null as its result.