howabout make a vertex buffer full of points where you want your boxes spawned(all have to be same material). One point per box, vertex position as cube position.
Create a geometry shader with input Primitive type = EPT_POINTS and output EPT_QUADS and make 6 quads around your point (same size since you have a minecraft-like game). The best thing is that you don't need to set transform matrices and you need 6x less data than mesh batching (and no index lists).
Storing all vertices and indices for a cube takes 24 vertices (for correct lighting), and 12 indices. Using simplest irrlicht vertex type this means (4*4+4+3*4+2*4)*24+48==1008 bytes. However if you want to use pseudo instancing, you have to use up one more texcoord for instance index, so we hit 1008+24*8= 1200bytes. You can use 64kb vertex cache for post transform, this means that the max amount of vertices you can send to vertex shader is 1600, meaning 66 cubes==396 polygons per draw call. that would be a plane of 8x8 cubes, or about one tree made of cubes. with the geometry shaders you use one vertex per cube which means outputting 1600 cubes is possible== 9600 polygons per draw call.
An even more hardcore solution would be to use a kind of "compression". Since the geom shader can output 1024 floats == 256 vertex positions == 64 quads == 10 cubes. you could define a square/rectange of cubes to be created per vertex. That is 60x less data, and 14400 cubes at once.
The most hardcore solution would enable you to draw arbitrary amounts of cubes. Take a height map, 128x128 pixels. Take 4 vertices making two triangles, tesselate with OpenGL tessellation (search my post), you will have 1056*3*4 vertices for FREE. Then you just happen to have a vertex ALMOST (122x122) per every pixel(remember to tessellate triangles, but output points into geom shader from tessellation evaluation). Then read off the height map in geom shader, round the height to nearest CUBE height and spawn a cube at that point using the geom shader. THAT'S 112000 cubes, 1.2 million polygons without filling up any shader uniforms, and submitting only 184 bytes of data to the gpu!
Don't even get me started on whatIF you used 24x24x2 triangles and a 4096x4096 heightmap!!!
There`re so many minecraft clones the last 6 months, that I personally am tired hearing of them, not to mention playing them. But at the moment I see a minecraft clone game using up to 128x128 pixel textures and simplistic lighting, and using geom shaders+tesselation+instancing+MTHNHA* for such simplfied style design and all, well then, I`ll be sure game art had entered a new age and this will definitely be sth new...
* MTHNHA = Many Things Humanity Had Never Heard About
"Although we walk on the ground and step in the mud... our dreams and endeavors reach the immense skies..."