Another thing I've done, generally with a solid, but it may work with a freeform sheet, is to extract a copy, and blank the original. Perform the boolean (add, subtract), and then instance the boolean. UG won't let you instance the boolean if you use the original body, but it will if its an extracted body.
-Dave
Everything should be designed as simple as possible, but not simpler.