From the man himself, in another thread:
...and it appears that "Switch/Case" and "If Then" ask in different ways and get different answers.
As Peter said in that thread and @Airy showed above, it's better to use "is/is not empty" -- whether a variable has been %delete%
ed, set to an empty string, or has never been instantiated, it "is empty" for both "Switch/Case" and "If Then" actions.
Can you explain this? There may be other ways to do what you want -- or there's always the "explicitly set to a known bogus value" method, just as easy to test for as "exists".