One way to do it might be to create an internal Line Loop in the input file where the crack originates. To do this, you would create 2 points at each end of the crack in your .geo file (say, points 1,2,3,4), and connect them up with lines. Then, create a Plane Surface from the border of that zero-thickness line loop. When you mesh the geometry, elements will hopefully be placed in this zero-thickness surface.
If gmsh complains about that, you may have to write a script to post-process the .msh file that comes out of the procedure in my answer in your linked question. You can identify the nodes on the interface using a physical ID. Then, lay down a line of new nodes on top of the interface nodes. Next, loop through all of the elements: Any elements below the interface (physical surface 1, in the example) can keep using the old interface nodes. Any elements above the interface (physical surface 2 in the example) should swap any old interface nodes with the new nodes that you just placed. Lastly, loop through the 2-node interface elements. Replace these with an appropriate quad element using the old and new nodes.
Since you will have likely read the file into more convenient data structures and manipulated the elements/nodes within a script, you will now have to write all of this out to a valid .msh file, but that shouldn't be too hard to do if you've been able to do everything else up to this point. I'm not saying that this would be a particularly pleasant route, but if you really need the zero-thickness element, then this might be the way to do it.
This seems to be a popular request, so I'm going to write a matlab/python script to do it. I'll come back and edit this when I have a small working example.
I have written a script that implements the procedure that I outlined in the second paragraph. It is too long to paste into a code block here, so I have uploaded it to my github page: https://github.com/tjolsen/Mesh_Utilities/tree/master/gmsh_crack
I have included a small working example of a .geo file and some documentation on how to use the code. The script parses a .msh file, creates new nodes and elements, then writes the "cracked" mesh into a new file. Anyone is, of course, welcome to use the code (provided as is...). I would welcome any feedback/improvements to the code. It has some pretty low-hanging performance improvements, which might be necessary if you start using larger meshes than the toy one that I ran on my laptop.
Please let me know if this does/doesn't suit your needs. If it doesn't, it is probably only a small tweak away from being what you need.