the 0 being 'false' would be logical if you were using integer based return replies etc. Its somewhere in the .hlp file i think, but one part of the help file is wrong:

"If-then-else statements"
Code:
if (%x == $null) echo x has no value

if (!%x) echo x has no value


.. because %x could indeed be 0. It's good practice to play it safe when you don't know what a variable/identifier could return.

Other 'false' values are $null and $false - there might be more wink