Das automatische Speichern wird durch das Verschieben des Datensatzzeigers ausgelöst. Insofern würde ich einfach das Verschieben verhindern, solange die Daten nicht durch den Benutzer gespeichert wurden:
Delphi-Quellcode:
procedure TDataForm.TableBeforeScroll(DataSet: TDataSet);
begin
if DataSet.State <> dsBrowse then
Abort;
end;
Freundliche Grüße vom marabu