At the moment when constructing a CurrentUserAtom, a CorruptPowerPointFileException is thrown when the atom is of the incorrect length. Problem is, this document may not be corrupt, but may instead come from a different version of PowerPoint. I would suggest throwing a WrongPowerPointVersionException exception, or similar, if the length is incorrect or if the magic number is not matched.
I think we should only through something like WrongPowerPointVersionException if we can detect that. Most of the cases I've seen with broken CurrentUserAtoms really have been corrupt files. If you can upload a sample file from an older version of PPT with a short CurrentUserAtom, I'll look at detecting that and returning a more useful exception.
The way we currently detect if the PowerPoint document is of the form HSLF supports, is to open the CurrentUserAtom and look for the magic number. If it isn't there, then we consider that it isn't of the right version, and so far that's been good enough since Office was able to open the remaining ones.
Created attachment 19655 [details] Example PowerPoint 95 document
I've added OldPowerPointFormatException, which CurrentUserAtom will now throw if it detects a ppt95 file
Noting that this works for our test data, including all the ones we didn't attach.