Попробуй в потоке крутить код типа:
#include
TDateTime LastDT;
...
void __fastcall TThreadSSN::Execute()
{
LastDT = Now();
while (!Terminated)
{
if (MilliSecondOf(Now()-LastDT) >= 10)
{ // реакция. например, флаг выставляется
LastDT = Now();
...
}
}
}