Hello, and sorry for the late reply.
Is the self-assessment tool based on parts of existing packages (e.g. survey) or is it built from scratch?
We have not used existing packages. The requirements we defined for the whole system and for the assessment system lead to the development of our learning-object-system that did not "fit" with the survey package. The assessment system is geared towards automatic grading and self-assessment only. The whole definition of a certain exercises is saved as one xml document. There is no "datamodel" for the definition of an exercise, just for the metadata. These are some of the points why we did not use the survey package.
Are you using XML defined by IMS for import and export?
No, we have defined our own xml-schemata.
Categorization system? Is that the same one that was recently contributed (and hopefully works in 5.0)?
No, there was no such system when we started development. Therefore we developed our own system. We have a paper describing our system, where you can find additional information.