Yep, I see you were able to dig up the parameter names as well, nice job! For classes defined in a Standard EXE I don't see why would you need the name of the event though since you could always declare local objects "WithEvents" and access all events directly. This code is useful almost exclusively for ActiveX components which include TypeLibs.

I don't have any experience with 64-bit programs but I think this code could work just fine with minimal changes. The light-weight object would definitely need to be modified so its VTable could include 64-bit offsets. Maybe in TwinBasic you wouldn't need a light-weight object at all since it can define custom interfaces in code. Perhaps Fafalone could shed some light into this matter?