The 3D card has little to do with the world representation. The '3D in 2D space' observation is right because that is essentially what most of these games are doing. The tiles can still be stored in the same way as they always did (ie. some sort of 2D array, perhaps subdivided into more manageable chunks), and all that needs to change is the graphical representation of each tile. Instead of a bitmap, they may refer to a 3D model, or one or more materials in the case of terrain. Rendering is much the same as it's ever been - for every tile on screen, draw that tile's representation (whatever it is) at the given position. 3D rendering will render the tiles in 3 dimensions rather than 2, and require the whole transformation from model space to world space and to camera space, but that goes for all games, tiled or not.
Irrlicht is certainly not overkill for such a game, especially if you want to be able to render 3D models on top of your tiles. Writing your own simple 3D engine is not terribly hard but it is a lot of effort for little or no benefit over the freely-available ones. It's hard to say whether it matches your requirements exactly, since you've not gone into any detail, but generally speaking free libraries like Irrlicht and OGRE are good choices for making games with if you're set on using C++.