Lets just call it a demo, because that's what it is. And the point of a demo is for the user to (ideally) try the demo, then rush out to buy the full version. This means of course that the demo is severely limited. Your users would love what you just said, because it's not very limiting. A lot of people may never have to buy the full version. There's other ways, though. You can set a time limit each time the app is open, you can set a certain amount of times the app can be opened,(since you can't kill your own app you'd just have to block access to the app features when the limit is up) you can allow only certain features which I don't like because they want to know all about the app, not just the handpicked things you think will impress them the most. Finally, you can just limit "amounts" of things like you said.
Really, I think time limits are the best for demo purposes. They use your app enjoying full functionality, finding out exactly what you can do with it. They get enough time to see if it will work for them. Then when the time limit is up, they'll get the feeling that they just lost something they liked, and they'll run out to buy the full version. Other limitations just don't have the same effect, IMO.
There's something I should point out though. When an app is deleted, all its data is deleted as well. So whatever variable tells you how long they've been using your app will be gone. All they have to do is redownload the app. Sure they'll lose their data, but it's still away around it. The only way to fix that legally is to send your data up to a site so it doesn't get lost.
Good luck! Nate