Separation of questions from modules was IMHO really bad idea in the same way as was storing module files directly in course files instead of in moddata (you can not find out which files belong to resources). The reason is we can not "package" and export or share module instances among courses.
It would be IMO much easier to create a hidden course with quizes that share questions with normal quizes, lessons, etc. The sharing of GUI code in current quiz/questions implementation seems quite hacky - code in question/ directory must not reference quiz or lesson.
I disagree. Separating out questions so that the same set of question types and question instances could be used wherever it makes sense was a great move.
There are two ways in which using a computer is much better than using a text book. One is that it lets students work collaboratively, and Moodle is great there, with forums and wikis and so on.
The other way is in iteractivity. If you try to make the student think with a self assessment question in a book, all you can do for feedback is to print the answer at the back of the book, which means that that the student has to faff around turning pages, and the feedback they get does not adapt to what their answer was. Software can do a much better job of challenging the student, but at the moment, what Moodle has to offer in this regard is rather feeble. In the 21st centuary we we should be doing much better than multiple choice questions.
So we must invest time in making lots of much better question types that really let the teachers challenge their students. And we should be able to use those questions wherever it makes sense. Not just in formative and summative tests (quizzes), and in lessons, but everywhere!
And if we are using questions everywere, they can't belong to one particular module, and the code as to be shared. The concept of a separate question bank makes perfect sense. (Is it currenly implemented in the best way? That is a separeate question.)
Now sure, from a development point of view, having things that are shared in lots of different places makes life a lot more complicated. Well, welcome to Moodle. The codebase is full of things that are horribly complicated because Moodle is definitely not optimised to make life easy for the developers. It is optimised to provide the features that teachers and students want, and if that makes life more difficult for the developers, well tought. As a developer this often causes me to swear and curse, but ultimately, I can't argue with it. It is the right philosophy. It is our job to build the learning environment that is most effective for teaching, however hard that is.
So I think we have to find a way to let stuff be shared around the place, while still allowing module instances and so on to be packaged up and moved around using backup and restore. And, no, I don't have a suggestion for how to do it.
I'm afraid that I have spotted another potential problem with your modfile proposal. If we go with it, then we can't even share images. I think it is a prefectly reasonable requirement from a teacher that they can upload an image to their course once, and then use that image in a "Compose a web page" resource, and in a quiz question, and in a
blog post. With your modfiles proposal, where every file is directly owned by a module instance, they will definitely have to upload the file three times, which sucks.
So perhaps we should forget worrying about question banks for now, and instead tackle the easier 'image bank'? ('image gallery' might be a better name). Which ties in to what you said about improving the UI for including images in the HTML editor in all sorts of content when using the rich text area.
Sorry for making this more complicated, but I think it is important we get this right, and get it right from the teacher's point of view. And I know that about 6 weeks before the Moodle 1.7 release may not be the optimal time to be having this debate.