This isn't actually a logic error so much as an edge case that you never see anywhere else because everywhere else would be saying "WTF MAN YOU CAN'T USE && ON TWO NON-BOOLEAN VALUES"
x && y is basically an x & y operation with the added caveat that it 'short-circuits' if x is false. Similarly, x || y is actually x | y but it short-circuits if x is true.
Since 1 & 0.7 is 0, the result is false even though both of the components are 'true' individually.
Exactly what he said. Regardless of if it "works" or not, if you want any non-zero value to result in true the check should be if(%this != 0)
That'd probably result in (%this != 0) != 0 because Torque.