unfortunately, this isn’t currently a super easy thing to solve. If you wait until Blender 2.72 comes out it will be much easier
which should be a week or two away. Basically the problem is that your infinity shape is self-intersecting so the boolean modifier is confused and doesn’t know which parts it should consider the inside and which parts are the outside of your shape.
there are however easier ways to go about trying this than using the curve modifier. instead, use the curve bevel controls and then convert the curve to a mesh. it will be a better starting point.
You could manually remove all of the geometry inside of the intersection and then rebuild the surface in that area to make it watertight. ooooor you could disassemble your curve, make each part a watertight mesh, use the boolean modifier to union them, and then finally union that shape to your cube. That would look something like this: http://cl.ly/3T2s1M2W3139