Over the last 10 years I have developed 4 separate versions of this kind of technology, 3 for corporations and one for my own commercial use.
Out of this distilled experience I can say:
1. pay attention to making it easy for
test authors to create and edit test questions.
2. keep your data format flexible (XML is my choice)
3. keep your display / user input tech as separate from the rest of the app as possible. Yesterday HTML was ok, today AJAX rules, tomorrow ??
Good luck
Bill