A snippet from the D2006 TryEncodeDateTime method looks like this:
Result := TryEncodeDate(AYear, AMonth, ADay, AValue); if Result then begin Result := TryEncodeTime(AHour, AMinute, ASecond, AMilliSecond, LTime); if Result then if AValue > 0 then AValue := AValue + LTime else AValue := AValue - LTime
I copied the methods I needed from DateUtils and made local copies and changed them to revert back to the code in D6. However, one person commented that performing the check, "if AValue >=0 then" would also work. Hopefully this gets fixed in Update 2.
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.