I'm trying model and render a ring in blender. I obtained my model with a cube on which I applied the following modifiers

I need it to be "empty" on the inside. So I duplicated my model (Shift+D) and scaled it by 0.9. I got this:
(not visualized correctly, but the whole thing is there)
When I try to boolean diff the larger with the smaller I get this:

Which is the smaller ring, which should in theory create the negative space on the larger ring's inside. What I get though is the smaller ring with that weird checkered selection, and no space on the inside of the larger ring, which, in fact, disapperars.
Can anybody provide any help on this? Is there a way to do this keeping my modifiers on the larger ring?
It's not the first time I encounter problems with boolean differnce, so any explanation on why it behaves like this is greatly appreciated :)
Thanks in advance :)
Edit: Attached Blender File
Edit2: Half solved. Answer in comments. I still would like to figure out a way to merge two edge loops of a curved cube. It's actually the same cube (with one corner in 0,0,0), mirrored X,Y, and curved along a Circle. See below image for a better explanation

Is there a way of merging the edge loop to its reflection?
– torels May 05 '15 at 16:29