Wyatt, thank you so much for your response.
As for #3, you clearly and satisfactorily addressed this confusion which was on my end - I now understand the convenience-design of keeping the key itself but as deactivated for quicker reactivation thereafter.
As for #2, you lead me in the right direction and I now have access from Delphi app to the custom license field. GetExtraData() did indeed and still does return nothing, perhaps by design, but I am now using GetFeatureValue() which works perfectly. Perhaps I confused the function of GetExtraData with GetFeatureValue.
#1 is where I had confusion that I had to resolve myself. I think I have this under control now, but I would like to detail the confusion I had as I can see the attempt to limit IsGenuine() server calls in your documentation as creating a potential point of confusion for new customers.
What told me I could definitively use your excellent product is when I found out calling IsGenuine() by itself with 0 parameters would force an actual internet request/license update.
I when was calling IsGenuine(0, 14) or (1, 14) after activation, I was still getting "NotGenuine" because that was the stored result from the last internet-verified IsGenuine call (another point of confusion is I believe it was waiting 14 days to update when using 0 instead of <0.999 days as I had expected). Then I said to myself, "this is bull - if you can't update the internet-verified license right after activation then the whole thing is useless. My customers can't be waiting an extra 2 weeks to use the software after activation".
That self-statement was made in my ignorance of the forced-update function of just calling IsGenuine() with no parameters, the result of which seems to be locally cached for further internetless, efficient checks until the next internet synch date.
I now call IsGenuine with no parameters (forced update) when:-They have just activated-My first IsGenuine(X, 14) call results in NotGenuine, but we are activated
This properly minimizes bandwidth usage (the first IsGenuine call is a (a few days, 14)) while ensuring we do indeed connect to server forcedly when necessary, such as:1. After activating2. NotGenuine but true=IsActivated
I hope what I've posted prevents similar confusion to other new customers using your product.
Your service is absolutely fantastic. Like my graphics application which LimeLM is currently protecting, yours is a superior quality New Hampshire-developed digital product and I will be sure to recommend it to others.
I currently spend untold amounts of time manually reactivating people's licenses when they need to transfer. This will save me a ton of time and offer better security.
Now I just need to integrate with FastSpring, import existing licenses, and we will be fully operational as a new happy LimeLM user.
Thanks again!Paul