I think you were wise in not remaking the database. The consequences of hiccups are just too dire ... At Earlham we have not moved from v1.3 for that same reason - better to work around minor bugginess (and I have received very few complaints) than risk a major upgrade in mid semester.
As to a workaround for punctuation in assessment text, I think it would consist of 'escaping' the punctuation with a php escape sequence. What that is I don't recall off the top of my bonce but I'll look it up. It strikes me that it should be possible to parse the assessment text using a regular expression that looks for a set of punctuation characters and then inserts an escape character in front of each one. Ray??