Unfortunately, you need to manually format all values that are misrepresented, as you do so far. The reason for this is that whenever this value is need for display (either in the databound cell, or in the group header), the original DataItem object bound to the GridDataItem is used to extract the value. This means that even though you customize the representation of the value in your data source when displayed in the column cell, RadGrid still uses the original value extracted from the data item for filtering, grouping, sorting, etc.
If you need truly seamless integration of custom formatting of data values in RadGrid, consider extracting the values from your data source, formatting them to your liking and saving them in another data object that you provide as RadGrid's data source. Thus, RadGrid now has the correct representation of the data to bind to and all displayed values should be in the correct format.
the Telerik team