The problem with dates appears to be in SysUtils.dateTimeToTimestamp.

Before DX is initialised, it returns 732303 for the date 23/12/2005 (this is correct). Once DX has been initialised it returns 732302.

I've uploaded my little test program here.

The problem also affects other float to string conversions, so its not just limited to dateTimeToTimestamp. I would suggest that somewhere along the lines, DelphiX (or DirectX) is changing some processor configuration that is screwing over Delphis sysUtils.

One thing I noticed was that this only occurs if DX7 mode is requested. I'm not sure what implications it has for performance if you turn DX7 mode off, but under those conditions, the problem doesn't occur.