I have worked on a competing product called OneGratis ( http://www.onegratis.com ). It works in a similar fashion to Punchd, except I think we might have been out a little bit earlier and the end-user is not required to create an account.
Regarding the comments on cheating, I think one of the best ways to combat that, is to build in functionality to disable phones online. As users are forced to be online when they redeem their loyalty card, this also means they are forced to synchronize their app with the server.
This approach tolerates a little bit of cheating, but also makes sure we can lock out a user, if the stats indicate the person is cheating.