Best Design for this "Sweepstakes" Project?
Assuming my comment about Archiving vs. Backup is accurate, go with System 2.  

You don't mention it in your post, but System 1 would require some sort of count operation on each insert into the sweepstakes_entries and sweepstakes tables.  Initially the performance associated with the count will not be a problem.  However, as your tables grow the BadgeEarned? query will get slower and slower.

What's worse, your best approach to reduce that burden will be to archive data about closed sweepstakes into a less active area in your database, but doing that will be difficult which you point out in System 1 cons.

So best to store the user_stats somehow and update them as necessary.