What you're using is called "unverified trials". Meaning, TurboActivate doesn't verify (beyond what's on the client's machine) whether the trial is valid or not. We do have some fraud prevention in TurboActivate for these unverified trials, so use the latest version of TurboActivate. But it's not perfect, because TA is limited in what it can depend upon as accurate information.
If you want "bullet proof" trials, then you need to some sort of verification that the customer's system date/time has not been modified. E.g. some sort of "talking" with your own servers.
Does that make sense?