http://www.conitec.net/beta/ent_status.htmsays
For map entities, the number of skins, triangles, and vertices is undefined, thus only mode=16 delivers a result. The total number of vertices and triangles of a map entity can be calculated with the ent_buffers function.
so you have to use ent_buffers.
AND
http://www.conitec.net/beta/ent_buffers.htmsays
The number of vertices is ent_status(ent,1) for a model, and the maximum index number in the triangle buffer for level blocks or multi-mesh entities.
So you have to to loop through ibuffer and find the biggest value, which is the maximum index number which means "vertex count - 1" - that's assuming vertex indices start from 0. So you find the biggest index and add 1 to that and you get the vertex count.
Now, as the manual explains, ibuffer is the array of 3 indices that makes up the the triangles of the entity, (it's an array of arrays), you know the triangle count from the value returned by ent_buffers. So you know the length of ibuffer array.
also in my tries ent_buffers does not return 0, it returns the triangle count of the level_ent.