I think it may depend quite a bit on the specifics of the app as well and what you're offering, but I think a credit system might be more interesting. The thing that is always tricky is that in either model discussed above, you may have incentives to make the app itself not that good *unless* people buy -- and I think that's a huge risk. The free app has to be really useful on its own.
Valve has talked about how they set up Team Fortress 2 as a free app with in game purchases, and one thing they were careful to do was to make sure the game itself could be played entirely for free -- that you weren't forced to sacrifice the overall game if you wanted to play for free, but that paying was more of a convenience/speed things along/cosmetic improvements, etc. That is, they made sure the free product was actually worth it.
I know that I was just playing around with a game that was free to download, but then had a credit system to purchase certain items in the game... and if you didn't buy credits the game effectively becomes unplayable. However, there wasn't enough game play for me to feel comfortable giving them any money, and the whole thing just rubbed me the wrong way.
So the trick is to make an app that really is useful for free, but then has reasonable advantages for paying, without falling for the temptation of making the free version bad or annoying. It's a fine line.
I might also explore other monetization options as well. I don't know enough about your app, but are there tie-ups you can do with print shops? Could you build in advertising in some form? etc.