actually what hes describing is a create-unit.lua error that cropped up around 1.19 to 1.21 its fixed in the 1.24b x64 version, as far as it can be.
In the original problem, units joining civ was broken in an error in how the parsing of the command line in dfhack had changed. the error of it sticking at 0 0 0 is more insidious. if you dfhack "reveal hell" the tile the golem appeared at has no data... its a non existent map tile because its below hell. I created a work around to that issue, by modifying dfhack teleport.lua... which will move the unit, with 1 problem.
if the tile its creating units at is a non existent map tile (about 50/50 thing... at worse. I think its more like 1 in 20 embarks), and therefore the workaround is used, then the workaround can cause a crash to desktop at about 1 in 3 times create-unit is called. in other words, it isn't perfect. but its better than the complete fail of the previous version, and it works perfectly if the tile exists.
the other issue felius was having is that units that appear at a non-existent tile, is it not appearing, it actually did appear... but do to the tile not having any mapdata it self deletes ~30% of the time after creation (which is tied to why the new script is crashing 30% of the time). The unit is marked for deletion rather rapidly if it lands on a non existent map tile (not an open space, one that doesn't have any tile, on any level beneath it).
I've looked into a couple of other workarounds.... but its just beyond my capacity for scripting. Anyways upgrade to 1.24b if you want it to work the way its suppose to.