Однако глюк и косяк оказался прост. Действительно он связан с изменением значений....
В общем, ключевое поле формируется на самом SQL сервере. И при каждом Post оно судя по всему изменялось. И вылазил глюк.
Вылечилось все так:
Код:
procedure TfmXXX.dsXXXSelectAfterInsert(DataSet: TDataSet);
var
NewGUID: TGUID;
begin
CreateGUID(NewGUID);
DataSet.FieldByName('ID').AsString:=GUIDToString(NewGUID);
end;