You haven't shown us what's in the variables.Rather surprisingly perhaps,
can be true, for example when the value of $storeid is the sequence (1, 2). But it would be a little odd to name the variable storeid if it can hold a sequence of integers. So I suspect that's not what you intended.
seems even less plausible. If $Type is an empty sequence, then the result will be false (because ()!='B1' is false, and ()!='B1' is also false). In all other cases the expression will be true:
Good point... if $Type is a node set then, well, the way that the = and != operators work on XSLT node set is maybe not how you think it works.
One node set is = another node set if there's any node in the first set which is equal to some node in the second set. And one node set is != another node set if there's any node in the first set which is not equal to some node in the second set. So, in particular != is not the negation of = when applied to node sets.
So you might want to check whether those variables are single values or whether they are node sets.