Also, the implied condition is only not false, which includes anything that is not zero. True, by definition is really only 1, but anything that is not 0 evaluates to true. In the case of mouseclick, it is not a boolean, and coding like the first snippet is quite buggy, to say the least.
I have more trouble with using if/then...it is asking for logic errors, imo, and you usually wind up needing a block anyway. Same goes for using the ':'.
Also, I have seen the implied condition fail, especially when you try to evaluate multiple conditions. I have found that if you make it completely obvious to the compiler, it makes the correct code. That is why I don't use the shortcut logic in DBPro. In C/C++, it causes subtle side-effects that usually are very difficult to track down and eradicate.