Yo de vb no se demasiado pero tendrias que poder declarar un puntero a una funcion, cosa que en vb no podes hacer segun tengo entendido. Mirate esta pagina, ahi el autor hizo una dll que exporta una funcion la cual usas para hacer llamadas indirectas, seria el equivalente a un puntero a funcion. Desde ya que me parece que te conviene declararlas en lugar de hacer esto pero bueno.
Por otro lado encontre esto http://www.thevbzone.com/secrets.htm, esta interesante, miralo.
Otro truco que usan es crear un hilo con la dir que obtenes de GetProcAddress, llamando a CreateThread().
CreateThread(), no se como tratara los parametros, cuestion de probarlo, pero es probable que se le puedan pasar varios, o sea todos pero apuntados por una sola variable.
Espero que te sirva, sino bue.. se hace lo que se puede .
P.D: Es muy bueno el truco de CallWindowProc.