Last week, I started browsing through the source code for the Apache POI library, because the examples and documentation that I'd been finding were woefully inadequate for the task I was working on. Today, everything finally clicked when I came to realize that there just doesn't seem to be a way to use POI to write a compound document back out into the original file. (Maybe there's something that will do it there, but I haven't found it yet.)
So I've now managed to recode everything to write the changed streams out to a new file, along with all of the unchanged streams from the old file. And that seems to be working fine now.