No suelo trabajar con cacheUpdates, pero en principio, sería llamando a los métodos del Tquery, por ejemplo query1.Edit, modificas los datos y despues query1.Post, realizas todos los cambios que quieras y por último, para aplicarlos fisicamente a la tabla (ya que al estar en cacheupdate se hacen en memoria local), tienes que acceder al método query1.ApplyUpdates(0);
Revisa que el DBGrid no esté en solo-Lectura.
Si alguien puede ampliar la información, bienvenida será

.
Saludos