Бърка при изваждане. Тоест date1-date2>=EncodeTime(0,5,0,0) дава резултат ту 6 минути, ту 5 минути.
Оправих проблема, ето крайния код:
TTimeStamp myDiff,diffStamp;
diffStamp=DateTimeToTimeStamp(EncodeTime(Hours,Mins,0,0)); <---това е периода, с който се сравнява
myDiff=DateTimeToTimeStamp(dt-frmMain->lastUpdate);
unsigned __int64 myDiffNum,diffNum; <---- Избягваме ползването на Comp
myDiffNum=myDiff.Date*24*60*60*1000+myDiff.Time; <--- брой милисекунди
diffNum=diffStamp.Date*24*60*60*1000+diffStamp.Time;
if(myDiffNum>=diffNum)