I didn’t recall using any tool that should have yielded a polysurface that wasn’t closed, but the “cap” command closed 74 polysurfaces and then the BooleanUnion succeeded.
Thanks!
For history on why I had 74 polysurfaces that needed to be capped, I’ve had to fall back on using Split because BooleanSplit didn’t seem to be doing what the instructions said:
I really appreciate the heads-up the Boolean was failing due to unnoticed open surfaces. Thanks again!