Actually OpenCSG can indeed render a 0 thickness shape, if you use the polyhedron function to define just one face. For example:
polyhedron( points=[ [10,10,0], [10,-10,0], [-10,-10,0], [-10,10,0] ], faces=[ [0,1,2,3] ]);
That gives you a square of zero thickness. Change one of the Z values above from 0 to something else and you get two connected triangles of zero thickness.