Tengo varias dudas, a ver que tal suenan.
dmVentas está asociado en diseño con el grid ¿no? ya que dices que al cargar el form, te da resultados, entonces, ¿para qué cambias el DBGrid.Datasource en el procedimiento consultar? deberías quitar esa linea si el datasource es el mismo siempre.
Si insistes en dejar la linea esa, prueba esto:
Código Delphi
[-]
procedure TfrmDatosClienta.Consultar();
begin
dm.VentasSQL.Close;
dm.VentasSQL.SQL.Text := 'SELECT Cantidad, Fecha, Vendedora FROM Ventas WHERE Clienta='+QuotedStr(eNombre.Text);
dm.VentasSQL.Open;
DBGrid1.DataSource := dm.DVentasSQL;
DBGrid1.Columns.Rebuildcolumns;
DBGrid1.Columns.Items[0].Width := 50;
DBGrid1.Columns.Items[1].Width := 100;
DBGrid1.Columns.Items[2].Width := 150;
Por otra parte, no veo la relación entre GrabarVentas y Consultar, es decir, ¿desde donde llamas a grabarVentas? y ¿qué código usas? ... haber si tienes un DisableControls que despues no tiene su par EnableControls....
Dicho de otra forma, el problema lo tienes en el código que no nos muestras.
saludos