1) Can a serial be created with an infinite number of activations? That is, can we provide our end-users an infinite-use serial which isn't rendered unusable after a certain number of activations? I already tried entering a 0 and -1 into the number of activations. Didn't work.
No this isn't possible -- product keys must have a finite number of activations. You can always change the number later (increasing and decreasing). I'm not sure I understand why you'd need infinite activations. Can you give me an example?
2) Is it possible for a license to be lost? For instance, if the OS (with an active install) crashes and needs to be reinstalled, will the License be lost, or will the user still be able to reinstall the build on that particular machine? If the License is lost for the user, what is LimeLM's suggestion for this situation.
The customer will be able to reactivate on the same machine if they reinstall Windows. If the customer's computer is stolen/lost/exploded/etc. then you can deactivate the machine in the LimeLM dashboard and the customer will be able to activate on their new computer.
3) Did I find a bug or is this intended? - I noticed that, after a serial is entered on a particular machine, it appears that I don't have to enter the serial again, even after the application is deactivated. I can re-activate by entering random garbage into the key, and it works as long as the key isn't blank.
This isn't a bug. When you call the "Deactivate()" function without telling it to delete the product key then TurboActivate leaves the product key on the computer. This allows the customer to reactivate a computer without needing to re-enter their product key.
When you call CheckAndSavePKey again with garbage, CheckAndSavePKey rejects it but leaves the old (and valid) product key untouched.
To deactivate & delete the product key then call the Deactivate function with the "erasePkey" parameter set to true. In Adobe AIR that looks like this:
ta.Deactivate(true);
Does this make sense?