Well if you take a look at the chicago sample you can easily increase the number of gangsters and roughly test (very roughly since you are not doing any optimizations, yada yada yada...
Code:
void CrowdSim::init()
{
// Add characters
for( unsigned int i = 0; i < 1000; ++i ) //just increase this number.
{
Particle p;
// Add character to scene and apply animation
p.node = Horde3D::addNodes( RootNode, characterRes );
Horde3D::setupModelAnimStage( p.node, 0, characterWalkRes, "", false );
// Characters start in a circle formation
p.px = sinf( (i / 100.0f) * 6.28f ) * 10.0f;
p.pz = cosf( (i / 100.0f) * 6.28f ) * 10.0f;
chooseDestination( p );
Horde3D::setNodeTransform( p.node, p.px, 0.02f, p.pz, 0, 0, 0, 1, 1, 1 );
_particles.push_back( p );
}
}
I've been able to render 200 gangster and call it usable, i also run a test with 10.000 without issues but performance was not great. You can create as many entities as you wish as long as you have memory and a smart way to manage it.
In terms of number of creating entities i don't see why any engine should have that limitation. It's just a memory issue and in terms of the rendering engine how to handle the pushing of triangles that represent that entity. So personally i don't see any reason why a graphics engine should be better than another in terms of being able to represent entities, they are all scene graph based and can represent any number of entities and hierarchies.
It comes down the the application/game programmer to be smart and use certain techniques, like LOD, Impostors, Culling, and create hierarchical structures that can be used to represent large amounts of entities on screen.
Horde3D is well suited to manage scenes with a large number of entities and translate them onto the screen.