                     {
                         try
                         {
-                            result = DateUtil.parseW3CDTF(temp);
+                            result = DateUtil.parseRPATHWHACKYDATETIME(temp);
                         }
                         catch (e:Error)
                         {
-                            result = new Date();
-                            result.time = Date.parse(temp);
+                            try
+                            {
+                                result = DateUtil.parseW3CDTF(temp);
+                            }
+                            catch (e:Error)
+                            {
+                                try
+                                {
+                                    result = DateUtil.parseRFC822(temp);
+                                }
+                                catch (e:Error)
+                                {
+                                    result = new Date();
+                                    result.time = Date.parse(temp);
+                                }
+                            }
                         }
                     }
                     else

                                    objectFactory.trackObjectById(partObj, partID);
                                }
                            }

                            // use whatever class info we were given
                            if (partObj)
                            {

                        }
                        else
                        {
                            // we have the property, but no value.
                            // NB: ObjectProxy always says yes to hasOwnProperty()
                            if (!partClass && !(result is ObjectProxy))
                            {
                                // must be plain old Object, but our TypeInfo
                                // method ignores them...compensate
