You're absolutely right. They should agree on a method - I'm not sure whether even portals using the same wrapper (a few are using TryMedia now) share restrictions; I guess not. OR they should let the developers implement it themselves and provide a SDK to do the unlocking.
Pulling this of should be feasible technically, but are all the portals going to agree on what to do? Maybe we developers should come up with a solution in the form of a library or something.
Say you make a public/private key pair and give the private key to the portals. Whenever their buy mechanism decide the game is "purchased", they generate a license, encrypt it using your private key, and store it in a standard location in the registry. Your game uses the public key to decrypt and verify the license. Of course is crackable but this isn't what we're trying to solve here.
Or they could just provide some simple API hooks (StartPurchaseProcess(), GetMoreGames()) and let you do the time and feature limits.