This thread might be relevant: https://groups.google.com/d/topic/web2py/1N0TwMOgp3o/discussion - have you started using detect_types? (if not, you should!)
This thread might also be relevant: https://groups.google.com/d/topic/web2py/RuBOLSyDc40/discussion - as_list and as_dict (if you use them) convert datetime to string unless you tell them not to. Perhaps you've removed an as_list() or as_dict() call from your flow? Finally, a recent web2py update switched from a simplejson that has been changed to internally support datetime(), into a pristine simplejson, that serializes datetimes using a default() method; If you are calling simplejson.dumps() yourslef, you need to pass a "default=serializers.custom_json" which you didn't need before (Same might apply if you have your own specific .json view or generic.json view)

