Hola,
Código:
while not QueryOrigen.eof do
begin
QueryDestino.InsertRecord([QueryOrigen.Campo1.Value,
QueryOrigen.Campo2.Value]);
Query1Origen.next;
end;
Bueno. En el código de más arriba no se está especificando si un determinado valor es de tipo "string" o de qué tipo sea, sencillamente, diría yo (a riesgo de equivocarme) se está asumiendo que el tipo de dato del "QueryOrigen" es el mismo que el tipo de dato del "QueryDestino". Es decir, tal vez no sea necesario hacer lo que te planteas hacer. ¿No?