The documentation for the parameter states:
"Optional. A Long variable to which the provider returns the number of records that the operation affected. The RecordsAffected parameter applies only for action queries or stored procedures. RecordsAffected does not return the number of records returned by a result-returning query or stored procedure. To obtain this information, use the RecordCount property. The Execute method will not return the correct information when used with adAsyncExecute, simply because when a command is executed asynchronously, the number of records affected may not yet be known at the time the method returns."
So if you are performing a result-returning query, you can use the RecordSet RecordCount property. If you are not then we will need to figure out why the method gives an error. If the error is just a COM exception error, you have a newer version of WinBatch, and the 'More Error Info' button is enabled, clicking it may help solve your problem.
WinBatch fully supports COM Automation method's OUT parameters so that is not an issue. However, I do have some vague notion about this particular OUT parameter being a problem in the past. I did a quick test using an old database and the old Microsoft.Jet.OLEDB provider and the COM exception additional error information said "Provider type mismatch". This suggests that the provider does not support the records-affected parameter. Perhaps you have encountered a similar issue with your provider. If that is the case, you may be able to issue a properly constructed second query to obtain a count of the records affected from a returned recordset.
Perhaps someone else has a better insight into the issue.