В VB (как и в любом скриптовом языке) используется расширение интерфейса IUnknown - IDispatch. Без реализации этого интерфейса использовать компонент в скриптовых языках невозможно.

На дальнейшие вопросы отвечу просто: ищите книгу "Inside COM" Дейла Роджерса.