En este caso lo que yo no utilizaría el Doble Click, ya que nadie está acostumbrado a empezar un Drag&Drop con un Doble Click del ratón.
La solución pasa por activar el Drag&Drop de forma manual y no automática. Para ello pon la propiedad DragMode a dmManual (por defecto), y en el evento OnMouseClick de cada uno de los DBGrid's pon :
Código Delphi
[-] if (Button = mbLeft) and (not IBDataSet1.IsEmpty) then
DBGrid1.BeginDrag(False,10);
siendo IBDataSetX el DataSet asociado a cada Grid, y DBGridX el DBGrid correspondiente.
Ello te provocará que el Drag&Drop no comienze hasta que muevas el cursor del raton 10 pixel's, y de esta manera mantengas total funcionalidad en la selección de los registros.
Espero te ayude. Saludos