If it's worth saying, but not worth its own post (even in Discussion), then it goes here.
Notes for future OT posters:
1. Please add the 'open_thread' tag.
2. Check if there is an active Open Thread before posting a new one. (Immediately before; refresh the list-of-threads page before posting.)
3. Open Threads should be posted in Discussion, and not Main.
4. Open Threads should start on Monday, and end on Sunday.
After thinking about this problem a while, I thought of the following idea. Instead of making the cards unique every month, simply number the cards consecutively. When handing them out each month, take note of the number of the first card handed out and the last. Then if there are any suspicions of fraud, we can check quite simply that there are no duplicate or errant numbers on the cards we got back.
Possible solution: Hand out the cards as the students enter the building, rather than as they enter the lecture hall. (Easy in this case because the lectures are on a weekend and the building doors are locked except the one we open.)