Boolean difference - Confused
edit: I spotted you're using 2.69, which is quite old... I'm on 2.78 so it could be a problem with 2.69 perhaps.

I tried your file, and I get this, which is pretty ok, imho, if I got what you exposed in the question:



otherwise maybe you could show what exactly is not working for you?