Well, this gets into to very messy "strings in expressions" debate, and tbh, if Ruud made the behavior more like VBS, might break some existing scripts, but it appears that the logic should be like the following string math:

2 + "2"

produces 4, but this:

2 + "A"

produces 2, so imagine that Ruud is doing a numeric conversion on strings in expressions, if they convert ok, then it used, else it's discarded. The same should hold true for this expression:

NOT "0"

but this:

NOT "BASTAH"

will still produce false. Its not like this is a biggy bug or anything, nothing that a well-placed VAL() couldn't fix ... this is just an on principle type thingy ...