A common user scenario in a development environment is where the code typically opens a connection, executes a row or non-row returning command, processes results, and closes the connection. For such scenarios, it is better to use Connection::Execute than Recordset::Open or Command::Execute.
ADO 2.0 utilizes some optimizations for one-time command executions when done through Connection::Execute. Actually, when Connection::Execute is used, ADO doesn’t preserve any command state information and therefore leads to an improved performance.