Yea I know... imho, the best way to do it would be to sorta seperate the topic history from the actual topic text. Something like:

Topic: This is the current topic for the channel!
(that is displayed in a multiline editbox)

Topic History: Current
June 7, 2003 (19:32:34)
June 3, 2003 (05:45:32)
(displayed in a dropdown list below the editbox)

When you change the topic history dropdown list (which lists the current topic, as well as the date/time previous topics in the history were set), it changes the text in the multiline editbox to whatever that specific topic contains. Thats way everyone is happy. There is a multiline editbox so the whole topic can be easily seen/editted, and the topic history remains intact and actually (imho) is better because it now shows the date/time the topic stored in the history was set.