RE:Eliminar un registro de un DBGrid
El problema lo defines tú mismo en tu pregunta.
Cargas un query que, aunque quizás es a una sola tabla, sigue siendo un query, es decir, no es una tabla y hacia lo único que puedes borrar es hacia una tabla.
Para borrar, tendrías que definir un procedimiento para borrar el registro por código, a través de algunos identificadores señalados en lo que muestras en el dbgrid o si tu query es a una sola tabla, podrías quitarte de encima el query y mostrar toda la tabla, definiendo un filtro para los registros a mostrar, además de escoger sólo las columnas a mostrar y así, el borrado no tendría problema.
Espero que te sirva.
Saludos.