すみません、超初歩的なことかもしれないですが、どうにもできないんで質問です。

あるクラスを作成し、そこで新規イベントを作成します。
そのイベントの引数の一部にByRefで定義した変数があるのですが、これがうまく値が返ってこないのです。
簡単にプログラムの流れを書くとこんな感じです。

CustomClass:新規イベントとしてNewEventを定義
イベント名 NewEvent
パラメータ ByRef foo As Integer
リターンタイプ (なし)

CustomClass:MouseDown
Function MouseDown(X As Integer , Y As Integer) As Boolean
dim foo As Integer
NewEvent foo
//(1)
End Function

Window1.CustomClass:NewEvent
Sub ByRef foo As Integer
foo = 1
End Sub

これを実行し、MouseDownイベントが呼ばれてNewEventも呼ばれているのは確認したんですが、
(1)のところではfoo = 1 となっているはずなのに0のままなのです。
これをちゃんと値が返るようにするにはどうすればいいんでしょうか。御教授願います。
Rbのバージョンは4.0.2、OSのバージョンは9.2.2です。