Is there a way to fix values once they have been calculated

You cannot fix a formula’s value, but you don’t have to make it a formula.

You can have a regular input column (not a formula), and a button that you’d click to update it with a calculated value once.

This is more logical than making a table of historical rates and depending on that in a formula throughout the whole history — that’s because you still risk messing up historical payment records by e.g. deleting old rates entries or editing them erroneously. Whereas by stamping the effective rate into a cell of the payouts table, it’s harder to mess it up because if one ever edited that value they’d immediately see the effect of such change (the whole row would recalculate).

Rule of the thumb: given the multitude of possible solution, choose the one where any mess-ups could be spotted and fixed as soon as possible and affect as little as possible.