There were a few problems in the model. Both surfaces on the end of the block were not joined to the the other surfaces. I deleted those and then tried Object->Fill-Hole. This failed because there were other holes in the block. Using Object->Optimize-vertices removed lots of duplicated vertices and then Fill-hole worked fine to close the ends of the shape.
The sphere had artifacts (split surfaces), probably left over from other experimenting, so I made a new sphere, and copied the dimensions.
After that, a boolean subtract seemed to work fine.
Here's the file with your original model plus the fixed parts and the subtraction result:
http://www.inivis.com/external/forum..._ac3d_001c.zip