hi,
first you need to use 
FILETIME-Struktur to create right FileTime.
FUNCTION FileTime(dDate, cTime)                  // API FileTime
LOCAL cConvertTime, cFileTime:=Space(8)
  IF dDate==NIL .AND. cTime==NIL
    DllCall("Kernel32.dll",DLL_STDCALL,"GetSystemTimeAsFileTime", @cFileTime)
    RETURN cFileTime
  ENDIF
  dDate:=IF(dDate=NIL,Date(),dDate)
  cTime:=IF(cTime=NIL,Time(),cTime)
  cConvertTime := w2Bin(Year(dDate))+;
                  w2Bin(Month(dDate))+;
                  w2Bin(0)+;
                  w2Bin(Day(dDate))+;
                  w2Bin(THours(cTime))+;
                  w2Bin(TMins(cTime))+;
                  w2Bin(TSecs(cTime))+;
                  w2Bin(0)
  IF DllCall("Kernel32.dll",DLL_STDCALL,"SystemTimeToFileTime", cConvertTime, @cFileTime)==0
    RETURN Space(8)
  ENDIF
RETURN cFileTime
than you need to use API 
SetFileTime function
FUNCTION SetFileTime(cFile, aTime)               // API SetFileTime
LOCAL cCreation
LOCAL cAccess
LOCAL cWrite
LOCAL nKernel32Dll
LOCAL nH
LOCAL nPt := 0
   IF PCOUNT() = 2
      cCreation := aTime[1]
      cAccess   := aTime[2]
      cWrite    := aTime[3]
      nKernel32Dll:=DllLoad("Kernel32.dll")
      nH := FOPEN(cFile, FO_WRITE+FO_SHARED )
      If nKernel32Dll > 0 .AND. nH # -1
         nPt := DllCall(nKernel32Dll, DLL_STDCALL, 'SetFileTime', nH, @cCreation, @cAccess, @cWrite)
         DllUnload(nKernel32Dll)
      EndIf
      IF nH # -1
         FCLOSE(nH)
      ENDIF
   ENDIF
   IF nPt = 0
      ALERT( FormatErrorMessage( nPt ) )
   ENDIF
RETURN NIL
Jim