I've found that, with scoreboard teams, if the team has a dash ("-") in their team name, then the team argument for command blocks won't work to see if anyone is in the team.
To recreate:
1) Make a new creative world in single player.
2) Give yourself 4 command blocks
3) Add these commands:
say @p[team=Foo]
say @p[team=!Foo]
say @p[team=Foo-bar]
say @p[team!=Foo-bar]
4) The expected results are:
Says nothing
Says your name
Should say nothing, but says your name
Says your name
Comments 0
No comments.