I see in your code that you have a try/catch block around the solve and you report the first GPMessage returned by the solver upon failure. Have you checked to see if there are any other messages in the GPMessages object? There can be multiple messages, and there may be more detailed information in this object that will help to narrow down the problem. Try this first, and we can proceed from there.
Looking at your last email, the error appears to be coming from a call to some IArray variable. This is likely coming from one of the IStringArray variables passed to the solver (e.g., for accumulate attribute names, etc.).
In your code, I notice you have the following:
' Dim AccumulateAttributes As IStringArray 'changed 09_16
Dim AccumulateAttributes As StrArray
Is there a reason you recently changed this code from using the IStringArray interface? Perhaps this is somehow part of the problem. Can you change the code back to how it was or comment out your use of the accumulate attributes altogether to see if this is the issue?