You need the key to unset the key, can use $chan(#).key
mIRCs mode parsing is great, thats why I cant see any need for any other custom parser, if you want to know the channel limit in a script you just use $chan(#).limit simple.
so if you want to remove the key: mode # -k $chan(#).key
But is this the type of thing you want?
Code:
 
menu channel {
  Modes
  .$iif(n isincs $gettok($chan(#).mode,1,32),$style(1)) No Ext Message:/mode # $iif(n isincs $gettok($chan(#).mode,1,32),-n,+n)
  .$iif(t isincs $gettok($chan(#).mode,1,32),$style(1)) Only ops set topic:/mode # $iif(t isincs $gettok($chan(#).mode,1,32),-t,+t)
  .$iif(s isincs $gettok($chan(#).mode,1,32),$style(1)) Secret:/mode # $iif(s isincs $gettok($chan(#).mode,1,32),-s,+s)
  .$iif(p isincs $gettok($chan(#).mode,1,32),$style(1)) Private:/mode # $iif(p isincs $gettok($chan(#).mode,1,32),-p,+p)
  .$iif(m isincs $gettok($chan(#).mode,1,32),$style(1)) Moderate:/mode # $iif(m isincs $gettok($chan(#).mode,1,32),-m,+m)
  .$iif(k isincs $gettok($chan(#).mode,1,32),$style(1)) Key $chan(#).key :/mode # $iif(k isincs $gettok($chan(#).mode,1,32),-k $chan(#).key,+k $$?="Input Key")
  .$iif(m isincs $gettok($chan(#).mode,1,32),$style(1)) Moderate:/mode # $iif(m isincs $gettok($chan(#).mode,1,32),-m,+m)
  .$iif(l isincs $gettok($chan(#).mode,1,32),$style(1)) Limit $chan(#).limit :/mode # $iif(l isincs $gettok($chan(#).mode,1,32),-l,+l $$?="Input Limit")
}

 


but i think i will stick with /channel