En aras de la exhaustividad.
Creo que esto debería ser un comentario sobre la respuesta de Regan. Pero como no tengo suficiente reputación, lo dejaré como respuesta.
El escritor DXF admite capas 2.5D y, con una entrada de línea, debería generar una cadena lineal 3D en dxf.
En el caso de los POLÍGONOS de entrada, debe ser más cuidadoso, ya que el controlador predeterminado genera un HATCH dxf con una Polilínea. Y por especificación de formato, esa línea no admite coordenadas Z, solo X, Y.
Si ingresa polígonos, ogr puede exportar dxf con cadenas de líneas 3D que representan esos polígonos. Para eso, debe configurar la opción de configuración DXF_WRITE_HATCH en NO.
//Bash
export DXF_WRITE_HATCH=NO
ogr2ogr -f "DXF" Contours.dxf Contours.TAB
//Windows
set NEWVAR=SOMETHING
ogr2ogr -f "DXF" Contours.dxf Contours.TAB
Hasta donde sé, esto no está documentado ni explicado en ningún lado, se agregó en la revisión 24991