I've struck this problem too. The cause is not obvious, the solution is.

In VB if you put brackets around a variable/parameter, it tells VB to convert the parameter to a string. Using the same syntax to the call a procedure, confuses VB, so it assumes that as its a procedure, it never returns any value, so brackets are not required so you must mean you want to convert the parameter to a string first.
So stating:
myproc(param1)
is different from:
myproc param1
or
call myproc (param1)

What VB is complaining about in your original situation was that you appeared to be trying to concatentate two parameters/variables into a single string.
e.g myproc (param1,param2)
Is seen by VB (wrongly) as (param1,param2) i.e. convert param1 & param2 into a combined string via () then call myproc with one argument.

So, as per Andy's comments, sticking a call in front, or removing the brackets will fix the problem.

The above explanation is why it fixes the problem.