Are you proposing that the code that is live (including their customizations) on the different universities? Or a code base maintained by the universities which is based on the vanilla .LRN (ala cvs branches)?
If it's the former, then I guess that's going to be complex because to look for a certain fix then the coder should checkout N+1 set of codes where N is the number of Universities participating.
I think the latter sounds like a better idea. Although the drawback is that it will be repetitive on the part of the university coders because they now have to track 3 code bases (official, their live version, their shared code base).
My suggestion is to have several branches. Then, designated persons from the universities would be given admin rights to a bugtracking system. So all the participants do would be to check the bugtracker regulary, see if they've fixed that bug and update the bugtracker entry stating that it has been fixed in "this" branch. So it would have a "status" of "for merging". So the main integrator of the official .LRN should just check the "for merging" bugs and do his stuff. Now, dedication and discipline comes to mind if you want this to work. :)