after a lot of testing and swearing this works
code:
var DTM_SET_SYSTEMTIME = 0x1002;
var GDT_VALID = 0;
var SysTimeStruct = Interop.Allocate(16);
SysTimeStruct.WriteWORD(0, 2006); //Year
SysTimeStruct.WriteWORD(2, 1); //Month (1-12)
SysTimeStruct.WriteWORD(4, 6); //Day Of Week (0-6 = Sunday-Saturday)
SysTimeStruct.WriteWORD(6, 1); //Day Of Month (1-31)
SysTimeStruct.WriteWORD(8, 12); //Hour (0-23)
SysTimeStruct.WriteWORD(10, 12); //Minute (0-59)
SysTimeStruct.WriteWORD(12, 12); //Second (0-59)
SysTimeStruct.WriteWORD(14, 500); //Millisecond (0-999)
PlusWnd.SendControlMessage('DateTimeControlId', DTM_SET_SYSTEMTIME, GDT_VALID, SysTimeStruct.DataPtr);