There are a couple of ways to do this. The first way is to use our "unverified trial" functions (UseTrial, TrialDaysRemaining, ExtendTrial) in tandem with product keys with custom license fields. This way you can track users and limit the number of "trial keys" a user can get. All you have to do is see when TrialDaysRemaining() is 0.
The other option, to user purely "trial keys" (i.e. keys with a custom license field), but you limit how many a user can get. For instance, you can limit it to 1 key per email address. Of course this option brings up the problem of free emails (GMail, HotMail, etc.) and how easy it is to generate multiple email accounts in short order.
Option 1 is probably the easiest to implement. Option 2 is more difficult to implement (the "user verification" bit, in particular), but is less susceptible to "trial resetting" on the user's PC.
Does that make sense?