Maybe it's the integer value that creates it, even if I don't understand why. But try this:
Code:
Dim result As Object = New Object()
Dim value As Object = 16
calcul.test(1, result, value)
If you're still getting a null reference error then there is something wrong with the generated COM object. Doesn't Matlab allow you to create .Net assemblies as well?