I don't know if hixxy's needs alterations to work in 6.03, but I just wrote and tested this in 6.03
Code:
 menu channel {
  &Topic Lock : topic.lock $network $chan
}
alias topic.lock {
  if !$+(%,topic.,$1,.,$2) {
    set $+(%,topic.,$1,.,$2) $chan($2).topic
    echo -a Topic for $2 is locked
  }
  else {
    unset $+(%,topic.,$1,.,$2)
    echo -a Topic for $2 is unlocked
  }
}
on @!*:topic:#:{
  if $+(%,topic.,$network,.,$chan) {
    .topic $chan $($+(%,topic.,$network,.,$chan),2)
  }
}