I´m creating such a Dungeon keeper like System too. But i try to use 5x5 terrains with 50x50 fields for each terrain (mapsize of 250x250 Fields maximum). At the moment, i stuck with the moving of vertex to a noisemap for waved surface on top..

I tried your way to (using 1 entity per Block).. but that kills the framerate.. For your problem with the shadowed top surface..:
try to split the top-faces of the model from the walls.

MED => mark top faces => copy => delete faces (not vertex) => paste => save


Selling my Acknex Engine Editions (A7 Com & A8 Pro):
>> click here if you are interested <<