Have I ever thought of late binding? Of course, but it depends upon the requirements.
late binding = create object
In help on the index tab type in "late binding" you will see a couple of topics, some of which will be helpful to you. The following excerpt is from "late binding and version compatibility" at the bottom of the page...
[tt]
Limited Protection For Late-Bound Client Applications
Late binding is used when variables are declared As Object, because the compiler doesn’t know the class ID of the objects and interfaces that may be assigned to the variable at run time. Applications that use late binding create instances of your classes using the CreateObject function and the programmatic ID, as shown here:
Dim obj As Object
Set obj = CreateObject("MyComponent.MyObject"
The CreateObject function looks up the class ID in the Windows Registry, and uses it to create the object. Thus it will always create the most recent version of the object.
As long as you preserve binary compatibility, late-bound clients will continue to work successfully with your component.
If you make an incompatible version of your component using the same programmatic IDs for your objects, late-bound clients can still create the objects, because they’re looking up the class ID instead of having it compiled in. When they call methods whose arguments have changed, or methods you’ve deleted, program failure or data corruption may occur.
For More Information See "Levels of Binary Version Compatibility" for a description of the degrees of compatibility employed by Visual Basic. See "Version Compatibility" for a list of topics related to this feature. See "Polymorphism, Interfaces, Type Libraries, and GUIDs," in "General Principles of Component Design" for background information and concepts.
[/tt]
Good Luck