these complex boolean operations are notoriously a weak point of OpenCasCade, our geometry kernel. But, even so, it's the best we have in the open-source world, and it's in constant evolution.
I found out what I'd been doing that that OpenCasCade didn't like: the parts that I was trying to add had been trimmed against extrusions of the same web face. Even though they'd been trimmed at different levels so that the parts' volumes overlapped, the kernel behaved as if they had been trimmed against coincident faces, which used to be something to avoid even with commercial kernels in times past. Once I'd changed what I'd been doing slightly to make each trimming face slightly different, the additions that had been unreliable became consistently reliable.