Indeed. For some reason mIRC thinks the { is the start of a code block despite it touching other characters. This is my guess anyway considering if you click on the menu it tries to execute *: (the char directly after {).

Another thing, even if you put a space between whatever's after the * and the :, it tries to execute <whatever>:. If I'm not making much sense, check this example:

Code:
menu status {
  Demo Dest
  .Blah 1: /echo -a Menu -3
  .Blah 2: /echo -a Menu -2
  .Blah 3: /echo -a Menu -1
  .-
  .$subMenu($broken_submenu($$1))
}

alias broken_submenu {
  if ($1 == begin || $1 == end) return -
  else {
    var %team0 = $+($chr(125),JeV,$chr(123),echo), %team1 = *JeV*, %teams = 2
    var %team = $calc($1 - 2)
    if (%team &lt; %teams) return $eval($+(%,team,%team),2) : /echo Menu %team
  }
}


It tries to execute /echo: