Austin,
the reason that @ProductSuite returns 18 is that it is a combination of:
case $Product = "Enterprise" $x=2
and
case $Product = "Terminal Server" $x=16

That is the reason for the bitwise operation. On KiX versions prior to 4.2x, @ProductSuite returned a string VarType, hence the Val() in Howard's UDF.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.