Here's a qote from "ADO Examples and Best Practices" by William R. Vaughn (ISBN 1-893115-16-x)
"When you set a Recordset property and use the Open method, ADO passes these properties along as parameters to low-level OLE DBcalls to the data providers. However, the provider might not be capable of implementing the requested option. In this case (and it's pretty typical), the provider usually does not complain (unless it's had a bad day); instead, it substitutes a supportable alternative. These 'corrections' are applied to the Recordset properties after the Open method returns the recordset." p.139
I don't know if this is your problem, there's not a lot of info. to go on- but this came to my mind when you said your cursor type changed.