Are you destroying all of your object variables before you shut down the application? When the component is compiled, the COM runtime is not performing the necessary clean up because you are aliasing objects (circular).

Code:
    Set objX = Nothing