This looks like a problem with your VB code. Are you using a server-side cursor? If so, try making it client side. An example (omitting any parameters for the sp) :
Set l_cmdCommand = New ADODB.Command
With l_cmdCommand
.ActiveConnection = objDatabase.Connection
.CommandType = adCmdStoredProc
.CommandText = ProcedureName
.ActiveConnection.CursorLocation = adUseClient
Set l_rsRecordset = .Execute
End With