Hi,
now that we have seen that teachers are imperfect

, I can understand the need to be able to add, modify and delete questions from a "running" quiz.Thanks!
Anyway, I think that we should define everything (each posibility and its implications) completely before thinking in possible solutions (implementations).
As I see the problem, we are in an "attempted quiz". This is the origin of our headaches, ok?
Then we have to analyse these:
- Add question to quiz.
- Modify question in quiz.
- Delete question from quiz.
- Add question to bank.
- Modify question in bank.
- Delete question from bank.
Some of the previous can have equivalent implications but, to begin, we should analyse them separately. And some of them won't be a problem but it will be a conclusion later...
Assuming that we are going to support all those actions against our "attempted" quiz, we have to answer all these question for each of them:
- Existing grades: They can be mantained unmodified or recalculated with the new quiz configuration. Will be this decission fixed (by Moodle) or selectable (by the teacher).
- Student view: Their original attempt or the modified one (determined by the previous decission, I think).
- Locks: We have to lock parts of the quiz, some always and some based in the previous decission. As I know: regrading of old attempts, reuse of old (modified or deleted) questions. Such locks must be done at some exact level: response, quiz, course, site...
- Site perspective: All this is OK for question belonging to only one course (private categories), but what happens if the same question is being used by other quizzes/courses? We cannot assume the change site-wide.
- DB structure: What is going to be the exact representation of all this in DB? How we detect locked questions, locked grades...
And all these questions must have response for each action. Only forbiding some action can be used to answer such questions.
Only a bit of brainstorming.... ciao