Wop!
Hablo de memoria, pero, por lo menos en D6, creo que existe una función para reemplazar textos dentro de una string (creo que es ReplaceText). Puedes montarte una función como esta:
Código:
function SqlConParametros(AQuery: TQuery): String;
var
i: Integer;
begin
Result := AQuery.Sql.Text;
for i : 0 to AQuery.Params.Count - 1 do
Result := ReplaceText(Result, ':' + Params[i].ParamName, Params[i].AsString);
end;
Nota:
No recuerdo si la propiedad que te da el nombre del parámetro se llama ParamName.
Si me ha fallado la memoria y no existe la función ReplaceText, no te costará mucho programarla.