The discussion is definitely turning fruitful!
I like how you defined it now. My only problem is what happens for apps that get frequent updates.
I personally would go mad if I had to update an app 3 times in a week (with stuff I might have never noticed) and insert the key each time. I think I'd go with something like:
1) major version updates require key update
2) regardless of updates, free keys last no more than 2 months
1) would keep people from having to get a new key 3 times in one week, and 2) would work for the apps that don't get frequent updates. The only problem is that the developer needs to mark an update as a "major" version. Also, this wouldn't stop the following situation: today I download FARR, tomorrow mouser releases a new major version and I have to go through the hassle of getting a key, etc.
Another interesting mechanism might be:
1) regardless of updates, free keys last at least 1 month
2) regardless of updates, free keys last no more than 2 months
3) if the app is updated in this period, user needs new key
This design does not help with making it less confusing, though

[just noticed you made a new post, I'll read that now]