Hola maria, deberias programar en el evento OnDblClick del dbgrid, teniendo en cuenta que los datos en el dbgrid se pueden coger mediante DBGrid1.Columns.Fields[indice]
algo asi
Código Delphi
[-]
procedure TForm1.DBGrid1DblClick(Sender: TObject);
var
dato1,dato2 : string;
dato3,dato4 : integer;
db : TDBGrid;
begin
db := (sender as TDBGrid);
dato1 := db.Columns[1].Field.Asstring
...
dato4 := db.DataSource.Dataset.FieldByName('dato4').Asinteger;
...
tabladestino.Append;
tabladestino.FieldValues['id'] := Nuevo_id;
...
tabladestino.Post;
end;