Far as i know. PgRouting uses only 2d geoms and error you mentioned comes because somewhere there is temp table or results table uses 2d geom column. To get 3d support you probably need to write your own code which created similiar edge and node tables but instead of using 2d function you need to use 3d functions.
Again. Far as i know, things may have changed in past few years. You can create mentioned edge table by yourself using extracting start and endpoint and comparing them to other lines start and endpoints, but instead of using ST_DWithin (like old assign_vertex (postgis 1.5 i think) tool used to do) you use ST_3DDWithin()
Or solution is simple and you just need to alter 'route2' table (or results table, i think it still is 'route2' table) geometry column to use geomz, but pgr_CreateTopology probably created data using only 2d information , which is no problem if your data doesn't have overlapping start and endpoints in 3d, if you have then you have a problem.