This is inaccurate. Rhino will Boolean open objects as well. Solids (closed valid polysurfaces) work more predictably for the newbie because the surface normals always point to the outside. If the normals are pointing in the wrong direction, you might get the inverse of the result you wanted (the part to be removed is left, for example).
But Boolean operations also work predictably on open objects once you know what direction the normals need to point. Or, if you have only two objects, you can call Boolean2Objects and cycle through all the possibilities.
Boolean operations will fail if Rhino does not find a complete intersection with which to cut the two (or more) parts. If a BO fails with two "solids", the first thing to do is run Intersect and see if the intersection is complete, usually it isn't and the gap/overlap will show you where the problem is.
there is lots more info here:
http://en.wiki.mcneel.com/default.as...ooleanFAQ.html
--ch