VBAとVB.netはまったく別物で比較しようなんて思わない

標準がバリアントなんだからできるだけバリアントを使うべきだし

値渡しの件も、VBAでは値渡しのが原則なんだから
値渡しのオンリーにすべきとおもうけど
どうしても参照渡したいならパブリックにするだけ