Hey. I had this same issue.
What you should do is check if the computer has been activated in the past and then run IsGenuine to check with the servers.
Example:
User launches app.App runs IsGenuineEx.IsGenuineEx returns a failure of some sort (expired or internet error).If IsGenuineEx DID return a failure, run IsActivated.If IsActivated returns TA_OK, then that means it was activated in the past.Prompt the user to reverify with the servers (IsGenuine)
Does that make sense?