Estoy escribiendo una aplicación C# que utiliza un componente (COM+) que fue creado con VB 6.0 ... pero tengo problemas al tratar de enviar parametros por referencia a los metodos pues no obtengo los valores de salida

La siguiente es la declaración del método del componente en VB 6.0
Public Function b_GenerarTck(ByVal cAgencia As String, _
ByVal cSector As String, _
ByVal cTicketera As String, _
ByVal cTTckBase As String, _
ByRef OUT_cTicket As Variant, _
ByRef OUT_dTicket As Variant, _
ByRef OUT_fGenerado As Variant, _
ByRef OUT_hGenerada As Variant, _
ByRef OUT_nEsperaMinima As Variant, _
ByRef OUT_dTTicket As Variant, _
ByRef OUT_dTVentanilla As Variant, _
Optional ByVal nNumCliente As Variant, _
Optional ByVal dNomCliente As Variant) As Long
Como verán hay varios parametros por referencia en el método "b_GenerarTck"
Y en mi aplicación C# estoy usando el método "b_GenerarTck" del componente con el proxy al servidor COM+ de la siguiente manera:
Object[] args = new Object[12];
args[0] = Agencia;
args[1] = Sector;
args[2] = Ticketera;
...
string[] argNames = {"cAgencia", "cSector", "cTicketera" ... };
res=atype.InvokeMember("b_GenerarTck",BindingFlags .InvokeMethod,null,objTicket, args,null,null,argNames);
Pero no funciona y no me devuelve los valores de salida

encontré esta alternativa en la página de Microsoft pero no me funciona
me gustaría que me puedan ayudar pues es crítico usar todos los componentes que tenemos y consumirlos desde C# porque son demasiados y muy extensos
De antemano GRACIAS