Bien, me parece que ya lo entiendo. Lo que necesitas es asignar los valores en el grid que está en el formulario de ORIGEN (el que hace la llamada) no?
Entonces lo que puedes hacer es, en lugarde hacer el proceso en el formulario de destino, hacerlo en el de origen después del showmodal (lo tendrás que hacer en cada uno de los formularios origen:
Código Delphi
[-]
FrmBusqArt:= TFrmBusqArt.Create(self);
FrmBusqArt.EdBuscar.text := TRIM(producto);
FrmBusqArt.formulario := FrmPedidos;
FrmBusqArt.ShowModal;
GridArtBusq.Fields[0].Value =FrmBusqArt.Dbgrid1.Fields[0].Value;
Edu