Interesting question!
I think you need to be very careful here about in what context you're talking about currency. Effectively, without the currency, your amount attributes are more or less meaningless.
It feels to me like those currencies should therefore belong as first class attributes in the representation itself, so that there is no ambiguity, and no intellectual burden on the caller to /remember/ that there is a header in the response with a currency in it. Without that, I think you'll hit situations where your consumers will /assume/ the currency is their own, which could be bad news indeed!
If you buy the above however, you could still use accept header to negotiate which currency is returned in that representation.
I think depending on your use case, you still need to be a little careful with that. Exchange rates fluctuate, and sometimes it makes sense to use an exchange rate for /today/, but sometime it makes sense to use a rate from e.g. the transaction date. By just wrapping it all up in that one header and blindly converting everything at today's rate, you could end up violating user's expectations of your API returning stable, predictable results.
I think there /are/ circumstances where the dynamic currency selection approach probably works - e.g. An API that is providing MI or analysis of data, so I wouldn't rule it out completely without knowing your use case.
Hope that helps,
Paul