@colin, since you say that (after a sizable delay) you can open the model, perhaps you could provide some additional insight as to the nature of the model without resorting to the component browser or outliner, both of which are going to be incredibly sluggish.
When you view the model do you see large numbers of repeats of what appear to be the same objects? Is everything a component instance, or are there also loose edges and faces in the model? For example a large building might have a lot of identical windows or a performance venue might have thousands of identical chairs. If you select a couple of seemingly identical objects, does Entity Info show anything different about them other than their Component definition, such as layer, instance name or advanced attributes? Without resorting to some Ruby, one can’t see whether the model has other kinds of attribute dictionaries attached to objects, but that would also be valuable to know.
I ask because the only way I can imagine such a model coming to be (without someone dying of fatigue and boredom) is if it was created by some automated mechanism that either has no concept equivalent to SketchUp’s components or that for some reason thinks each object has one or more unique non-geometric properties. The answers are relevant to “fixing” the model in SketchUp because you may risk losing distinctions that were originally important if, for example, you bulk replace a mass of unique components with multiple instances of a single component.
Also, the suggestions above all glibly rely on the assumption that you can somehow select the existing instances you think are equivalent. Unless all the equivalent instances use the same distinct layer, I don’t think ThomThom’s tools provide a way to accomplish that. That is, they don’t have any “select all instances of component definitions whose internal edge and face geometry is identical”. Unless the similar objects are spatially organized separately from all others, it will be terribly tedious to try to select them one-by-one.
I can conceive an algorithm that would identify geometric duplicates and unify them as instances of the same component (though numeric precision effects might be an issue depending on how the locations of vertices were originally generated). Implemented in Ruby there is the risk that it would take a very long time, though!