You need use
ds1.FieldByName('FIELD_VALUE').Value := anyValue;
instead of
ds1.FieldByName('FIELD_VALUE').AsString := anyValue;
There is some difference in this delphi versions. Starting from delphi2006 there is another memory manager that works more precise. In example in delphi 7 and lower you can assign NULL to string or integer value. And comparision NULL with 0 will return true. In greater versions you can't do this. Null is not equal 0 or empty string.