So... .
with 90% lisp work mainly with layer management, attributes and then blocks, multifoil prints, automatic numbering of texts and even text tracking and nothing changes.
90% of the few modifications I made (always with lisp/vlisp etc) is for the command in itself that even if in Italian zwcad has the commands in English, e.g. "purge" is not "elimina" but "purge", "sposta" is "move" and not "move".
as entamake, entmod, entget, lists, getstring, ssget, sslength etc remains all the same.
with vba change some references of objects, but there is still the help with examples.
you can work with external files, excel, database, txt etc. instead of intellicad that as vba is limited.
we had tried also bricscad and he also has no problems with lisp and vba, indeed if I remember well I had to do nothing to reuse my functions, neither for lisp nor for vba.
we chose zwcad, given compatibility, for server licenses that bricscad does not have.
Last thing that comes to mind is for the menu; with bricscad you can recover the menu ".cui" while with zwcad still works with mnu and mns and I had to remake all the menu both a tendon and icons.
and zwcad regarding the menu and icons has some problems where you have to be careful, but you can do it.
That's enough for the moment.
If you have any other specific question here.... not for the 3d though.
he also has the 3d anyway, maybe it is not complete as autocad, but there is.