You should try to put the 3d drawing method before the guienv->drawAll();, because since its different components, and since 2d has no depht values, the engine follows the draw-first philosofy.
If you cant, you could try to render your 2d to a texture and place it in a 3d plane in front of your screen... thats the hard way to do it....
Well. Thats what is excepted from the engine . A 2D element which can not be overdrawn would be more annoying, because maybe there are some situations overdrawing a 2D element by a 3D object can be useful.