I agree to the proposed solution.

And yes, at the time of revaluation, all record rates would have to be replaced by today's rate although we would lose historical rates this way but I don't think we would require them.

Since this is the correct way of accounting, I would expect this to be included in FA at some point in time otherwise FA would not be handling mulit-currency transactions properly. In other words, it is simply not a wish but a necessary fix to FA.

In my case the GL entries are never revalued for supplier balances.

I'll try to explain the scenario once again as I think it may be unclear last time.

In the previous example, if the invoice remains outstanding for a number of years, FA would never revalue the supplier liability account in GL until settled as the GL entries would remain intact at US$1,600. This is incorrect from an accounting perspective as the company actually owes GBP1,000 that may be worth US$2,000 (assuming a rate of 1 GBP = 2 US$) at a particular date and the balance sheet should reflect US$2,000 and not US$1,600 as liability.

I gather that currency revaluations routine does revaluations only for cash/bank accounts. Whereas logically it should also revalue any foreign currency (other than default currency) suppliers/customers balances as well.

For example, a supplier invoice for GBP1,000 is booked in US$ company on 01-Jan-2011 at a rate of 1.6 as US$1,600. If the same invoice is outstanding at 28-Feb-2011 when the rate has changed to 1.5, the revaluation routine should decrease the supplier liability by US$100 and record an exchange gain of US$100.  At the time of payment FA does record relevant revaluation correctly, however it should also revalue any supplier/customer balances.