I dig what you're doing here. However, the check for set/not set is ONLY for variables.
Begin Text Compare : [{CMDSEGMENT:2}] Has Been Set
...is (I *think*) first looking to see if a variable by the name of whatever is in CMDSEGMENT:2 (so, if it's 'engines' it's looking first to see if there's a variable named, 'engines'). It doesn't find it, so, it's using the rendered value of the token, which is 'Not Set' if there is no value. 'Not Set' is rendered because it is an indication of, NULL. Since most VA users are not programmers, 'NULL' would be confusing, so, 'Not Set' is at least *some* indication (that is not blank and not, 'NULL').
So, long story longer, you're either going to have to stuff the value into a variable and compare, OR, change your condition to this:
Begin Text Compare : [{CMDSEGMENT:2}] Does Not Equal ''Not Set''
It's trying to be simple for those that need it and overloaded to the point of insanity for those that have nothing better to do with their time o_O <--- think i'll put that on the site