I agree the Uri part is a hack otherwise we'd have to create a converter for each object type returned. Or use another serializer such as Json.Net. I also need to test this using other browsers than IE (not done yet) in case the Date implementation behaves differently when passed a date string (ISO 8601).
I guess Telerik's Grid will only convert DateTime from Utc to client time only when the DateTimeKind is Utc.
So I replace the code in controller
_dateTimeHelper.ConvertToUserTime(dataTime, TimeZoneInfo.Utc, TimeZoneInfo.Local)
It works for me.