I have taken a slightly different tact, as I think contracts aren't worth the paper they are written on. Hopefully my explanation wont turn into dribbling.
The first thing I do is create an installation exe (I use "deploy" from helpscribble)
The installation exe buries a text file called stp.psm in the C:\Windows\System directory. The .psm extension is errelivent.
I always create a splash screen to carry out behind the scenes stuff. The first thing it does is sees if the above file exists. If not, the db is probably copied from some other PC, displays a message and the closes.
In my Db's I have one table that holds a registration number. It is just a random number that is self generated the first time the Db is opened.
After the .psm file has been verified, the first time the Db is opened I check to see if a Rego No has been generated.
If Isnull(Me.RegoNo) then
Create the Random Number
Write todays date to the file
else
check to see if an authentication key has been entered.
If yes, then open the Db without incident.
If no then check the date in the file and compare it to today. If it is older than 30 days, display a warning.
If it is older than 60 days, display a message and then close the Db.
This is a basic overview, but hopefully might be of some assistance
Dave