RE:Copiar un registro de un DBGrid
Si quieres hacer programación orientada a objetos, lo primero que debes hacer es evitar pensar que el registro es del DBGrid, el registro "pertenece" a un DataSet.
Partiendo de ahí, y suponiendo que el DataSet está en un DataModule (aunque no importa si lo tienes en un Form), lo más lógico sería definir un método que haga lo que tú quieres. A ese método lo puedes llamar "CopiaRegistroEnTablaX" y lo único que tienes que hacer es un Append en el DataSet destino grabando los datos del DataSet origen (que se encuentra en el registro que ves en el grid).
Perdón por tanto rollo, pero espero que te sirva de ayuda.