I've tried again with both the daysBetweenChecks and graceDaysOnInetErr set to 1, and after 3 days of no internet access I still get IsGenuineResult.InternetError during the first IsGenuine check and IsGenuineResult.NotGenuine during any subsequent checks.
Also, what is the proper way to reverify after gettinga a NotGenuine result?
Trying IsGenuine again will always return NotGenuine.
The only way I've found so far is to do a Deactivate(), then Activate() again.