Si utilizas DbEdits puedes colocar una variable pública de tipo lógico que haga de semáfooro:
Código Delphi
[-]
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
lCambios:=True;
end;
Y luego en el botón que tengas para grabar consultas como quedó el valor de dicha variable para saber si se hicieron cambios.
Un Saludo.