If we advance the clock of daysbetweencheck+graceperiod to force connection it seems TurboActivate detects this and invalidate the registration, because even if we do not deactivate on the web site, we get a deactivated status. Is it the expected behavior?
Yes, TurboActivate detects many forms of date/time fraud (and gets more detection methods with each new version).
Is there a way to test our code by simulating the period has elapsed without TurboActivate anti tempering check detecting it?
No, not really. Just set "debug values" for the IsGenuineEx call. Like 0 days between checks and 0 days of grace period.