¡Hola!
Podrías buscar o hacer una función que cree un arreglo dinámico de registros TVarRec a partir del registro actual de un conjunto de datos dado, pero creo que en tu caso hay otras opciones más directas:
Si el conjunto de datos cliente no tiene ya registros y no se le van a agregar de otras consultas, algo sencillo sería conectarlo con la consulta mediante un TDataSetProvider.
Otra solución es utilizar un ciclo For sobre los campos:
Código Delphi
[-]
TablaDestino.Insert;
For I := 0 To TablaDestino.FieldCount - 1 Do
CampoDestino [i].Assign (CampoOrigen [i]);
TablaDestino.Post;
Después de todo, se cumple el objetivo de pasar los datos, aunque para ello no hagas uso del método InsertRecord.
Saludos.
Al González.