>> 関数のときは問題ないが、ビット演算と絡んだときにはまる。
>の意味がわからん。関数からの戻り値がビット演算と絡むこともある

すまん、これは勘違いだ。条件式がTrue/Falseでない場合だ。
なので、関数のときに問題がないのではなく、
>If Not Foo() Then
Foo()の戻り値がBooleanのときは問題なしってことで。

> VB が論理演算をビット演算子でやることにあるとは思う。
言いたかったところはこれ。

ただ、条件式で比較演算する部分を省略しなければ、
問題は起きないので、True/Falseでも一貫して省略しない方法を推すと。