I recoded all of our functions that handle the property sets that are stored in Microsoft's compound document files so that they used the nice new (relatively) COM-based interfaces instead of the really crufty old crap that they released before the COM stuff was out there. And it all appeared to work just fine.
Except there's some problem with one of our custom property sets that prevents me from saving the file. So I'm moving everything from our weird custom property set into the "User-defined Property Set" in the hope that will make the problem go away, since the error message just says, basically, that it doesn't like the looks of our old property set when I try to save it.
Well, neither did I. We'll see what I get when this compile finishes.