I created a new macro called PeriodicRerandomization.pl. It is now in the NPL at the location
Here's a synopsis of what the macro does:
Let p be a positive integer. This macro provides the ability to force a re-randomization of the question every p attempts. For example, this macro can be used to create a practice exercise that provides a new version of the question every 4 attempts and displays a solution every fourth attempt.
The macro file has documentation in it, including a minimal working example of all of its features. Eventually, this macro will be documented on the webwork problem authoring wiki.