A quick look shows the following. There may be other things, but I don't want to try and look through the entire script considering the size.

Code:
if ( %broadcastchannels == all ) $iif(%bc.msg == describe,ame,amsg) %msg
  if ( %broadcastchannels == active ) $iif(%bc.msg,%bc.msg,msg) $active %msg
  else {
    tokenize 44 %broadcastchannels
    var %i = 1
    while $(,$ $+ %i) {
      msg $v1 %msg
      inc %i
    }
    var %c = $addtok(%c,$iif(#* !iswm $v1,$chr(35) $+ $v2,$v2),44)
    inc %i
  }


It's only checking if it should use /me in two out of three places. Try this:

Code:
if ( %broadcastchannels == all ) $iif(%bc.msg == describe,ame,amsg) %msg
  if ( %broadcastchannels == active ) $iif(%bc.msg,%bc.msg,msg) $active %msg
  else {
    tokenize 44 %broadcastchannels
    var %i = 1
    while $(,$ $+ %i) {
      $iif(%bc.msg,%bc.msg,msg) $v1 %msg
      inc %i
    }
    var %c = $addtok(%c,$iif(#* !iswm $v1,$chr(35) $+ $v2,$v2),44)
    inc %i
  }


Invision Support
#Invision on irc.irchighway.net