oops, sorry, MSDASQL is for ODBC, not sql server (although it would work for that too)
I do recommend using the oracle provider but that's a different discussion than your question here, go ahead and put the odbc provider back.
Do other open options work?
Such as "adOpenForwardOnly, adLockReadOnly" instead of keyset/pessimistic ?