We have noticed that ADO objects used through COM Interop may behave differently from how they do in VB6 applications. This malfunctioning may happen, for example, when passing objects stored in Variant variables as arguments to the ADO Recordset’s or Connection’s Open method.
In some cases the problem is caused by referencing the object variable and omitting the name of the default member, in which case explicitly using the default member’s name solves the problem.
As of this writing, however, we haven’t found a general rule to work around these issues. We plan to create a list of malfunctioning cases to be added to the product documentation, so that users can quickly learn how to fix it.