It is the way a conditional match works, the * is AND the two conditions and + Ors it. Using , is no good, that is a statement separator, and & concatenates the two conditions.
It is nothig to do with VBA, and all to do with how Excel works.
ACtually, by asking the question I experimented a bit, and found that
=MATCH("TRUETRUE",(A1:A6="a")&(B1:B6=1),0)
also works, but not as elegant. I will play with this some more.