Hola Chanito.
Esta es la cruz de la programación con componentes y VB...
En las propiedades del proyecto fíjate que hay un apartado que habla de
Compatibilidad de la versiónCompatibilidad de la versión
Le permite establecer el nivel de compatibilidad de las versiones.
Sin compatibilidad: no se fuerza la compatibilidad.
Compatibilidad del proyecto: si selecciona esta opción, se activará el cuadro Ubicación, que le permite buscar el archivo con el que será compatible este proyecto. Si no la selecciona, el cuadro Ubicación no estará disponible.
En el caso de todos los tipos de proyecto ActiveX, la opción Compatibilidad del proyecto está seleccionada de forma predeterminada.
Compatibilidad binaria: es muy útil para mantener la compatibilidad entre los proyectos que se han compilado con este componente.
Ubicación de archivo: muestra el nombre y la ubicación del archivo con el que será compatible el proyecto. Puede escribir un nombre y una ubicación o utilizar el botón Examinar para mostrar el cuadro de diálogo Componente compatible ActiveX, donde puede buscar el archivo.
Por supuesto esta compatibilidad tiene un límite... si cambias el nombre de propiedades o métodos, por ejemplo, está claro que no hay compatibilidad que valga.
Una opción que suelo utilizar frecuentemente es no utilizar referencias a librerías ActiveX. En lugar de esto, utilizo variables de objeto que inicializo mediante
CreateObject. Esto funciona perfectamente (a no ser que cambie el nombre de las clases ,del proyecto si califico la clase, o algún miembro de la clase). La desventaja es que no puedes declarar las variables 'WithEvents', con lo que falla un tema importante. Otro detalle es que en tiempo de diseño no dispones de la lista de los miembros del objeto. Este inconveniente no es tal, ya que puedes diseñar todo el proyecto con una referencia y las variables de objetos declaradas como del tipo correspondiente, y antes de compilar, eliminas las referencias, declaras los objetos como object, y listo.
Eso sí, si tienes previsto migrar tus aplicaciones a .NET, esta técnica te va a complicar la migración...
Suelo,como complemento o alternativa a lo anterior, utilizar un pequeño programa que se llama al iniciar la aplicación y al terminarla, que registra y desregistra los componentes que necesito a partir de un archivo con una lista de componentes y comprueba la disponibilidad de otras referencias que le especifique.
Suerte.