I voted for Option 1. I think we do need to have some check in place (at least to reduce if not avoid all these common repeated rule violations), but from a practical IT perspective, I think testing only the new members would be feasible, as you could easily add a few simple questions to the initial application form. But setting up a completely separate system to test and track all existing members would require far too much effort and would be of limited value since most existing members have already been exposed to the discussions following recent rule violations.
Also, I think 15 to 20 questions is overkill, we do not want to put off potential members from joining altogether, the objective is just to make sure they have read the rules and understand that we take them seriously, no more. On that basis I would say just 5 questions is more than sufficient, but these should not test the obvious rules. They should test the subtle ones that actually cause us the most problems, for example:
Which of the following are official forum rules:
1. Members must not post links to their own auctions (not true)
2. Members must not post links to other people's auctions (true)
Getting both these questions right is not obvious, so is a more effective way of ensuring that new members have read the rules.
On the other hand there is no point testing rules like:
1. Members must treat others with respect, not swear, etc., etc.
That would be a waste of time and would just put potential new members off.
Best to keep it simple and focused on only the most common and annoying problems. We should aim for maximum impact with minimum effort