Hi. I have TONS of experience with both. The answer to questions 1 and 2 is simply: They do not compare. Use MATLAB for matrices, and VB for interfaces/databases. VB falls way behind in numerics. The answer to your last question is: it depends... potentially converting to VB.NET is easier.
Recently I had a research project that consisted of analyzing a terabyte-size database. The numerical algorithms were frankly complicated, so using something different to MATLAB was simply not an option. I have two use cases:
1. I created a VB.NET application to query the database through a couple dozen parameters. The relational database is queried via very complex SQL statements (hundreds of lines of code), which are encapsulated in stored procedures; the output is written to files. Then, the VB.NET executable creates a runtime instance of the MATLAB engine, and sends the MATLAB instructions with a line of code. A plot is produced and is shown in the VB application. It works like a charm... but there is performance penalty for writing files. CLARIFICATION: I did not have the database toolbox available, but I would assume that it would bypass the need of VB in this scenario.
2. I had a series of distributed servers that required calculations produced in MATLAB. I used the .NET Builder toolbox to encapsulate a series of MATLAB programs (approx 2,000 lines of code) into a .NET library. I used that library to create a web service in VB.NET, and that made available the MATLAB program to all the servers. In this scenario, MATLAB proved to be capable of being a player in an enterprise environment.
My conclusion is the following: Use each tool according to their strengths. MATLAB is optimal for numerical and symbolic computation, and visualization, whereas .NET is optimal for interoperability, database access, and web/desktop applications.
I truly believe that VB.NET + MATLAB is a winning combination for developing software. I prefer VB.NET in this case as opposed to let say C# because the syntax of VB.NET is very similar to MATLAB