This may be over the top.
How about writhing to the registry, like this.
When the program starts it looks for a data file and a registry entry.
If not found it ask for the key code with DEMO as a default.
Write the encoded word plus today date and the number of records in a
data file. Assuming your routine adds records to this data file.
Also update a data file with a flag that the countdown has started.
This way if the registry entry has been deleted the data file will alert
the routine of that fact. "Error, Registry damaged" and quit.
If there is a registry record and the data file is missing the routine will not continue.
When the expiration date is reached or the maximum number of new records is
reached the registry is updated with expired flag. Game over.