what I do when moi is having trouble boolean joining some solids, I try trimming them together, if than does not work, leaving them has solids, export the lot to a single STL, then upload load it to http://cloud.netfabb.com/ it does a great job and joining up objects, including surfaces with solids.