I've found this Topic:
Taking a closer look into FireDAC-Methods and how this is used within Aurelius, in my opinion, as Studart Francy already wrote, you should use ftBCD instead of ftCurrency.
Because FireDAC will use SQL_CASH (SQL-OID 790).
For example postgres will then only save 2 digits (PostgreSQL: Documentation: 15: 8.2. Monetary Types)
If you would allow ftBCD for Postgres and use ftBCD for Params instead of ftCurrency, all digits would be stored...
It feels wrong, that you are using numeric for definition of currencies while you are using FireDAC-Money-Type for setting values.
From my point of view you should at least use currency and Moneytype or better BCD with numeric.
Maybe this should be configured using GlobalSettings.