Como ya te han recomendado es posible que la mejor opción para tí sea utilizar el propio log de Mysql que como leo estas investigando, o hacerte una función que recorra los parámetros de la query y los sustituya por el valor.
De todas formas basándome en tu ejemplo, algo rápido para salir del paso y desde luego nada reutilizable puede ser algo de este estilo:
Código Delphi
[-]
Query.Close;
Query.Clear;
strInsert := ' INSERT INTO ventas (folio, fecha, clave, producto) ';
strValuesAUtilizar := ' VALUES (:folio, :fecha, :clave, roducto) ';
Query,SQL.Add(strInsert);
Query.SQL.Add(strValuesAUtilizar);
Query.ParamByName('folio').AsInteger := 1;
Query.ParamByName('fecha').AsString := '2021-08-31';
Query.ParamByName('clave').AsString := 'AB001';
Query.ParamByName('producto').AsString := 'Azúcar';
Query.Prepared := true;
strValuesParaLog := format(' VALUES (%d, %s, %s, %s) ', [Query.params[0].asInteger,
quotedstr(Query.params[1].asstring),
quotedstr(Query.params[2].asstring),
quotedstr(Query.params[3].asstring)]);
Query.ExecSQL;
showmessage(strInsert + #13 +strValuesParaLog);