The TCK timeout tests are coded to use millisecond accuracy, an example is in TckTests.java. But there is nothing in the spec that implies hard real-time guarantees so I think the tests should be coded to use timeouts of the order of the second instead.
Note that JTA transactions also use seconds for the timeout granularity and JTA transactions are normally expected to be short lived.