@jmcilhinney is right on both counts: Option Strict is a good idea and there's no reason for ByRef parameter passing. However, moving to Option Strict is likely to light up your compiler like a Christmas tree, given the general state of this code and the fact that the original author(s) seem to like gratuitous late binding.
So, if you're just trying to make it through this port, you could try declaring Caller as dynamic
rather than object
. That would be an accurate translation of how the parameters are passed in VB.