(
2) > спооектированы так, чтобы выполнять одну конкретную команду. Об этом и в MSDN
Чойта?
If you open a Recordset object based on a compound command statement
(for example, "SELECT * FROM table1;SELECT * FROM table2") using the
Execute method on a Command or the Open method on a Recordset, ADO
executes only the first command and returns the results to recordset.
To access the results of subsequent commands in the statement, call
the NextRecordset method.
...
Your OLE DB provider determines when each command in a compound statement
is executed. The Microsoft OLE DB Provider for SQL Server, for example,
executes all commands in a batch upon receiving the compound statement.
The resulting Recordsets are simply returned when you call NextRecordset.
Так что все на усмотрение провайдера.