I use checklists this way as well.
For example, I have checklists to remind me what to pack when traveling. It is a pain to uncheck each entry one-by-one after I've packed.
I work around this by duplicating the checklist when I need to use it, and only ever working with the duplicate.
I use FormConnect for this function. I have a weekly conf call with the Team and I check everyone off as they get on the call. FormConnect allows me to do one for each week and then stores it in the database. At the end of the year, I can go back and see who has been missing my meetings and who needs to be replaced.........:-)
That's my get around. I use FormConnect for a lot of other things as well, but I like your idea.
May I suggest setting it up as a repeating task. The checklist will reset the next time you need to use it.