OrderFormPayment.Amount is of type SQL Money.
This is limited to 4 decimal places, which is not always enough.
This limit can be a problem, when using proprietary bonus points as currency, where each bonus point is a very small fraction of regular currency.
Sorry for the late response. We'll look into this. Thanks for the great example.
We have included this in a more general story of looking into rounding and precision all over the platform. It is not currently on the active backlog though.