Hi John,
some comments:
1a) Though it would be really nice if students would only have to maintain the data once, how do you solve the problem of one department asking "Have you ever been on a sailing boat" vs. another "Have you ever been on a sailing vessel".
1b) We should think about storing general user data that you can usually find on an LDAP server in an LDAP server (or similar things). And this in not only something dotLRN should consider, but all of OpenACS. Now there is just a tiny culprit. Yet another system to keep running. So definitely don't make it default, just optional.
2) What is the benefit of XML document vs. using OpenACS party/permissioning system? If your main reason was portability then I'd much prefer generating the XML information when needed.
3) Definitly true. I'm not sure whether there are already mutually agreed upon DTD's out there, but this would be a good idea for using XML. Especially as it could be imported into statistical software to run analysis on the (student) data. The best thing to do would be to provide an administration interface to generate the DTD's on the fly.