>> "What do you suggest me to do? "
Your options for IsGenuineEx() are good (specifically TA_SKIP_OFFLINE is what you want). So, for customers without internet connections, or that can't reverify, tell them to use offline activation: https://wyday.com/limelm/help/offline-activation/
Does that make sense?
>> "My other concern, is that I connected one of the computers to the Internet, and It kept saying "trial expired" It took about 3hrs for the computer to validate the licence again"
With the TA 4.0 release out in about a week, we included update C examples showing how to handle this case. It's implied in the documentation, but we erred on the side of making the C example simple. But with the new C example, we just make it explicitly clear the best way to handle things.
Short answer: when IsGenuineEx() returns TA_FAIL it's either because there's no activation OR there's an activation but it's been more than X+Y days. Use IsActivated() in the if-block to see the reason for the TA_FAIL. And if IsActivated() returns TA_OK, then you can prompt he user to retry immediately (with a button that when clicked calls IsGenuine()).