I have run into the same problem and think that you may be on the right track in thinking that the sprocs transaction is conflicting with COM+. Just for giggles, I set the transaction level for the object in COM+ to supported instead of required, and this seemed to help on some of the objects...but this is not really a permanent solution in my case. What is odd is that if I run the app in vb without reference to COM+, it works great. If I run the app as compiled dlls registered on a local machine, it works great, which does seem to point to a COM+ conflict. Have you tried removing the transaction altogether from the sproc as I have not tried this yet? I will be interested to hear if you solved the problem.