In order to call a VI from VB, and still pass and receive data, you will need to compile it in one way or another.
One option is to build an ActiveX Server from your application. If you have the Application Builder, look under the Application Settings tab. There is a checkbox for Enable ActiveX Server. Since VB is largely built upon ActiveX technology, this may fit a little better into your application.
J.R. Allen