>I might be off track, but don't you need to call >`Marshall.ReleaseComObject(object)` on all managed references to COM
The VB6 programmers wants the 'feature' objects (there a multiple ones) and the 'Cursor' inside each one to live for the lifetime of the App. I didn't mention it, but there is a kind of factory class that makes the COM objects for me and it knows when to ReleaseComObject on them all at shutdown time. So I *hope* their lifetimes are managed correctly, but with COM there is so much magic stuff happening I can't shake off this fear that something rotten is happening that I can't see. It seems to be working correctly anyway, which is a good sign I guess! Mark, David, I'll try the change you suggested with a simple reference and let you know what happens. I didn't think of doing that because I already had an event listener on the object and I thought that would be enough to keep it alive. Greg