>> "For the revoke key option to work, does the PC with the "compromised" key that I want to revoke needs to be online? "
Yes, that's why you should use the IsGenuineEx() function (or IsGenuine(90,14) for non-C++ languages). This will recheck every 90 days.
>> " Customer does not want to have the PC with my software online 24/7 for LimeLM to do its job because it poses as a security risk."
Don't hammer the servers (there's literally no benefit for anyone). Just use IsGenuineEx() and it will contact the servers at a set interval. Every X days.
>> "What's the best way to support it w/out requiring the PC to be connected to Internet"
Well, IsGenuineEx() only needs an internet connection when it's contacting the servers.
If the customer is *never* connected to the internet, then you can use IsGenuineEx(), and have the customer re-activate offline. See: https://wyday.com/limelm/help/offline-activation/