Fabio, I think test for empty() on numeric variable does not make sense unless variable has not been set, in which case isnull() would be better test. There is no empty numeric in the same way as an empty string, In my opinion. All numeric values have meaning, none are empty. Confusion rules :)
I agree with you: NULL, ISNULL() NVL() COALESCE() are much more they are corrected.
But VFP is old, and many developers still today have fear of the NULL.
LOCAL x
Therefore it is VFP and therefore it will remain until its end.