Hola,
en lugar de borrar el registro en el dbgrid hazlo en el query.
Esto borra el registro activo de la consulta de tu query que corresponde al que está señalado en el dbgrid.
También puedes hacerlo mediante consulta pero utilizando ExecSQL.
Código Delphi
[-]
AdoQuery1.SQL.Text:='DELETE * FROM Herramientas WHERE nombre='+quotedstr(nombre);
AdoQuery1.ExecSQL;
Saludos.