Definitely SQLOLEDB. This is the native OLEDB provider for SQL Server. MSDASQL provides a layer on top of the ODBC driver, which would explain the speed loss, and you'll probably also have less functionality than the native OLEDB provider would give you.

What "transaction" errors are you getting?