Why not make the student "staff" and the staff "student" (or staff without edit privileges) ? That is what we are currently doing for more than 1,500 students for the posting and maintenance of their webfolios. The solution involves the administrators of our institutional Moodle platform but we think it worth the time and delay (less than 8 weeks in our case, including summer vacations...).
More than 500 students are already made "staff" and the only thing slowing us is the conversion of the already existing webfolios (from an html format in WebCT or a Word format in MS SharePoint).
To have an idea of what I am talking about, you can access the auto-formation flash modules
available to our students. It is in French but I am sure you will get the main point (you can skip the first two sections
which are local to our institution).
From the point of view of a student, when admitted (and for the duration of his-her studies) a template of folders (and sub-folders) is created and many Word (or whatever you decide) templates are made available to modify and populate this folders's structure. Everything is private between each student and authorized teachers. Also, the templates are so universal that students can backup locally everything and re-use it when they leave our institution.
As you can see, we are adhering to the KISS philosophy (Keep It Sillily Simple). It is not glorious but it works!
I know nothing of the "internal workings" of the thing: if you are interested, I will redirect you to our chief analyst in this project (she will hate me for this!).