Hi Matt,
the issue seems to be in Kentico itself. When I debug the call to ShoppingCartInfo.GetFormattedPrice() in my code behind it gives me the encoded HTML as a result.
CurrencyInfoProvider.GetFormattedPrice(n,n,false) gave me £. CurrencyInfoProvider.GetFormattedPrice(n,n,true) gave me the encoded output.
So it is a matter of the the methods doing the encoding. However, ShoppingCartInfo.GetFormattedPrice doesn't have an overload to not encode the output (which works fine for euro and dollar anyway).
I switched the currency to euro and ShoppingCartInfo.GetFormattedPrice doesn't encode the result, it actually outputs a euro symbol.