Sifer, you're neglecting SKILL LEVEL
A small guy WILL WIN if there is a SIGNIFICANT GAP IN SKILL LEVEL/CONDITIONING. The bigger the size/strength difference, the more skilled the smaller guy needs to be to beat the bigger guy.
Your example of Cro Cop (Heavyweight World Class kickboxer) vs. Bob Sapp (SUPER Heabyweight Novice fighter) illustrates that a SKILLED guy can defeat a MUCH LARGER UNSKILLED guy.
If you want an example to illustrate my point regarding SIMILAR SKILL with a SIZE DIFFERENCE, you can look at VANDERLEI SILVA VS. MARK HUNT, from about a year back in PRIDE.
Silva lost the decision to Hunt, despite the fact that he was slightly more skilled and landed more blows, simply because the cumulative effect of the blows he dealt did not deal as much damage as Hunt's fewer, but more powerful, blows landed on him.
If you have two guys of IDENTICAL SKILL, and one is larger and stronger with a reach advantage, and the smaller guy is faster, let us look at the factors that enter into a striking match:
REACH - Larger guy will take advantage of reach by keeping the smaller opponent at a distance, where large guy can reach small guy with strikes but small guy can't reach large guy. Advantage: Large guy, who will likely hit small guy with more punches because he can reach him, while small guy needs to find a way to enter while taking punishment (look at Lennox Lewis, who uses this strategy with success despite being a technically poor fighter)
FORCE OF PUNCHES - THey both know how to punch, but force = mass X velocity.
Large guy force = 10 mass X 7 speed = 70
Small guy force = 6 mass X 9 speed = 54
Advantage: Large guy
CAPACITY TO TAKE DAMAGE = Large guy has thicker bones, and more muscle and fat to dissipate force of blows SIGNIFICANTLY from small guy. Think of an SUV crashing into a small car.
WEIGHT - Striking has more to do with shifting weight and timing than it does with strength. That is why a skilled smaller guy can hit harder than untrained bigger guys. However, this is also why a trained larger guy will hit harder than a similarly skilled smaller guy.
And when the large guy is tired, his weight remains constant and compensates for lack of strength, whereas when small guy gets tired, his weight does not compensate as much for lack of strength (especially in grappling situations)
At a very athletic 155 lbs, I routinely submit much larger opponents than myself on the mat. Most of my opponents are over 200 lbs. I can tell you that the athletic 180 lb novices are a lot easier to beat than the athletic 220 pound novices.
My friend's older brother is a semi-fit 300 lb former football player. I submitted him a few times the first couple of sessions I grappled him. However, over the next several months, as my friend continued to train him and teach him and he became more experienced, it became more and more difficult to beat him.
Finally, why do you think they have WEIGHT CLASSES?