Been working on lots of .net assemblies being exposed to classic com languages (Visual RPG is the main one) (http://www.asna.com).
Had lots of trouble with them, because i wan't exposing an interface, just public methods and properties off the classes. Once i setup the public interface and implemented the interface in the class, everything was good.
Aim was to be able to re-compile, and register the assembly in the GAC without having to recompile the COM program (like you could do in com). Outcome success.