The main one is that some systems can be gotten around if the user is clever enough to realize that they can reset the date and time to their system clock. Or if you don't tie things like Import records down, the user can install a new copy of your file, import their data and start the process over again...
1. System date problem: Would it be sufficient to have the 'Open app' script activated through a '20 day trial' button that,
- Creates a record with a Timestamp.
- Opens the app if CurrentDate < Timestamp+20
- Else requests payment and does not open.
2. Preventing repeated free trials: What I mean is, yes the user can repeat, but they can't use full functionality and it's seriously inconvenient if they try. You mention not allow import (or export) of records. Is there a shortlist of other functionality that should generally be considered for 'locking down' when offering free trials.
1. See my comments from my first post. CurrentDate accesses the computer's system clock. If the user modifies their clock date, they can continue using the trial. In many systems, this won't matter as the user is also denying themselves accurate dates in any records generated. In other situations, resetting the clock would allow them to use the trial indefinitely. An alternative option is a start up script that increments a field by 1 in a table not accessible to the user each time file is opened. When the count reaches a specified count, then the system requests payment.