Another impossible boolean

Dear Rhino users,
Spending all morning on something I thought simple…
I have 3 named polysurfaces: outside, inside and mill. I want outside and inside boolean union, and mill (which is a milling path) boolean difference.
There is also a curve hidden inside: I-line. It defines the outside of Inside poly and is also used to contruct the mill path. (extrude then offset solid)
Here is the problem. I can first boolean difference Mill from Outside but then the union with Inside will fail. If I start union Inside and Outside then the difference with Mill will fail.
The I-line curve came about after a lot of work, so I would like to keep it. But the intersect of Mill and Outside has lots of lines that should not be there.
Can someone please point me in the right direction here? Thanks,
problem plaat.3dm (1.9 MB)

Thinking about this stuff in terms of “booleans” can be limiting. Your “mill” shape seems to have some problems with it, but you can get this to work if you first assemble the Inside to the Mill as in this file, which I did by Untrimming the top Inner surface and then trimming it up with the “mill.” problem plaat.3dm (374.6 KB)

I’m not sure what I’m doing different but here it works with boolean union inside and outside and then boolean difference mill.

Thanks, @JimCarruthers. So thats basically doing a boolean all manual. And it worked indeed. But frankly this sort of stuff has me wondering sometimes if I should be looking into other CAD’s
Oh and @siemen, Thats crazy. I have R5. Could there be a difference between versions?
kind regards, Maarten

I used R6, and for your object it worked without any issues.