The EMT_TRANSPARENT_ALPHA_CHANNEL material only uses the first material texture. You need to use or make a material type that supports multiple texture layers and transparency.
I am using Irrlicht for seweral years now and I would be realy happy if I could be able to do what you try to do in your code. That is blending few textures on mesh. To accomplish what you want, appart from C++ and Irrlicht you would need knoweledge of shaders and DirectX or OpenGL.
There are seweral material types already in Irrlicht but none works with more than 2 textures so far.
Look at E_MATERIAL_TYPE enumeration in API, there are all materials and desciptions of what they do.