I have noticed that in the beginning when TrialDaysRemaining is more than zero IsActivated returns false.
That's not true. TrialDaysRemaining and IsActivated() aren't related at all. Now, it may be true for your customers that they all use the trial until it's complete before buying a license and activating, but it's not TurboActivate behavior.
The recommended way to call TurboActivate is in the example apps. Call IsActivated() to see if they're activated, if not, call UseTrial() and TrialDaysRemaining() to see if they can use your app as a trial.
Does that make sense?