Craig, you are right that size and weight of the parts are significant contributors to limiting engine revs. However, for engines with a given displacement and number of cylinders, the shorter the stroke (and larger the bore) the higher the engines can rev.
This is because the forces that the crankshaft and connecting rods have to bear in slinging pistons up and down do not only depend on piston mass, but the linear acceleration and deceleration that occurs to and from TDC and BDC on every revolution. This acceleration is a product of the engine revs and the stroke length of the engine, modified a little by subtitles such as the ratio between rod and stroke length.
As the piston velocity is a function of stroke length at a given engine RPM, and this velocity is reversed at the end of each stroke, the acceleration is also non-linear with peaks around TDC and BDC. Peak acceleration is where the parts are loaded the hardest due to inertia – most likely to fail. Now, peak piston acceleration depends on the square of engine revs, so inertial loads go up exponentially with longer stroke length.
These forces may be reduced by using light pistons or by reducing the piston acceleration by reducing the stroke length. If you want to preserve the displacement, but want to use light pistons running through a short stroke you need to add cylinders.
These pages may add some insight:
Piston Motion: The Obvious and not-so-Obvious, by EPI, Inc.
Piston motion equations - Wikipedia, the free encyclopedia