If you are not tied to the MS JSON serializer you could use Json.NET. It comes with an IsoDateTimeConverter to handle issues with serializing dates. This will serialize dates into an ISO 8601 formatted string.
For instance, in our project serializing myObject is handled via the following code.
JsonNetResult jsonNetResult = new JsonNetResult();
jsonNetResult.Formatting = Formatting.Indented;
jsonNetResult.SerializerSettings.Converters.Add(new IsoDateTimeConverter());
jsonNetResult.Data = myObject;
If you decide to take the Json.NET plunge you'll also want to grab JsonNetResult as it returns an ActionResult that can be used in ASP.NET MVC application. It's quite easy to use.
For more info see: Good (Date)Times with Json.NET