A ver si esto te sirve...
Utilizo los IBX con Delphi 7 y he hecho algo parecido a lo que tú comentas.
En el evento AfterScroll del IBDataset (seguramente existe ese mismo evento en otro tipo de Dataset), pones una condición if..then que se cumplirá cuando estés en el form que tiene ese DBGrid.
Dentro de ese if..then pones la asignación del contenido de cada campo al edit que le corresponda.
Sería algo así:
Código Delphi
[-]
procedure TDModule.DataSet_AfterScroll(DataSet: TDataSet);
begin
if Ante_el_DBGrid then
begin
Form_con_DBGrid.Edit1.text := DataSet_Campo1.asstring ;
Form_con_DBGrid.Edit2.text := inttostr(DataSet_Campo2.asinteger) ;
end ;
end;
Así, cada vez que hagas clic en el DBGrid o te muevas por él con las teclas de flecha, se pone en marcha este evento y se actualizan los Edit con el contenido de los campos.
Espero que te sirva.