I have played with the zbuf alot in the past and you are right, what you seem to be running into is the limits of an 8 bit depth map which can only give you a max of 256(0-255) different values…if, for instance, your model has visible pixels that are a max of 1 bu apart (your model seems seems to be close to that) and you set it up for the gradient to fully cover that range, the z value has to change at least .004 for the 8bit map to change 1 in intensity value. Many of the small lines and other details in your model are only .001-.002 which will not show up in a 8bit depth mat.
I have not tried the zUtility yet but it will output a larger than 8bit image.
If you are talking about the zutilz seq plugin, it is broken in 2.42(2.41 works though), and for now there is no way to fix or update it as a scene strip no longer gives a zbuffer to the sequence editor ( I have posted a bug report but there has been no response as yet). Also, I believe that at present, blender will save only 8bit greyscale for some reason - even though png will handle 16 bit greyscale, it has been disabled in blender.
As for results, this is the best I could do with either zutilz or nodes (they are almost identical) it took about 15 min of futzing around with the map values for nodes in 2.42a and was pretty much instant with zutilz in 2.41 :rolleyes:
the zutilz image is on the left…