Inconsistent boolean behavior
I just got consistent behavior (after 2 days) by selecting both pieces, going to edit, and recalculating the normals to be outside, then back to object and performing the operation.
Do you need a picture for that?