Lo he solucionado de esta manera :
Código Delphi
[-]procedure TFrame2.DBGrid1Enter(Sender: TObject);
begin
DataModule1.DataSource9.OnDataChange := DataGridChange;
end;
procedure TFrame2.DBGrid1Exit(Sender: TObject);
begin
DataModule1.DataSource9.OnDataChange := nil;
end;
procedure TFrame2.DataGridChange(Sender: TObject; Field: TField);
begin
...
...
end;
definiendo el procedimiento de cambios en el módulo Frame2 en vez de en el DataModule.