MeshBooleanUnion not working on simple geometries

I have a small and simple model with 3 pieces that I am trying to put together, so that I could 3D print them (export to STL). The middle part, a mesh created by subtracting two polysurfaces from a polysurface, will not union with the two pieces on the sides. I tried turning the pulysurface into a mesh, ran a check for naked edges etc, but I don’t seem to find any problem that might be causing this.
I tried so many different sequences in producing these geometries (first subtracting then joining; first joining then subtracting, making holes later etc) and sometimes there would be a strange result from the MeshBooleanUnion command: surfaces on both objects would disappear.
There is probably something essential that I don’t understand about meshes and their union. Any help would be much appreciated!

I am including the file here: ununnionablemeshes.3dm (2.7 MB)

without posting a rhino file, you won’t get any help…

Included the file. Sorry about clumsy posting.

you would benefit from modeling the entire part as polysurfaces / NURBS. Only in the last step you would turn the geometry into a mesh, for example by exporting as STL or if you want to have the mesh in your file you can also click Mesh, From NURBS object.

First step however is to accurately draw input curves. The input curves can be lofted, the result is the middle part as a NURBS.

After boolean union you can use the command MergeAllFaces

ununnionablemeshes.3dm (368.0 KB)

wow! thank you so much! I will definitely adopt the workflow that you describe.