I haven't faced any problems with ADO during the entire time I coded in VB6. Now I've left that and moved on to ADO.NET.

Do you have any specific examples of statements those cause that problems you mention? Also, are you sure you have used the correct cursor location, cursor types, locks etc.?