Your $submenu alias seems a bit mucked up since it tries to return on pass "1" %team-1, pass "2" %team0, and pass "3" %team1 and pass "4" $null
I only mention this becuase that confused me for long enough to not pickup on where the problem really is.

Its not in the $submenu part at all, its straight out in the menu, the { causes the menu system to loose it, also appears to cause code to execute what ever directly follows the {
example
menu channel {
Demo Dest
.Blah 1: /echo -a Menu -3
.}JeV{* : /echo -a EXAMPLE1
.}JeV-* : /echo -a EXAMPLE2
.Blah 2: /echo -a Menu -2
}