This is a bug in file storage which I really wish I'd had time to fix in OpenACS 4.6.2.
I didn't realize it screwed up site wide search. What I did know, and why I think it is a bug, is that hooking the file storage root folder to object -100 means that the expected behavior of inheriting permissions from the subsite under which file storage is rooted isn't implemented. So if I have a subsite "foo" and create an admin subgroup for the subsiteand mount file storage under that subsite, the members of foo's admin subgroup can't admin the files!
Grrr.
Because of this dotLRN, for instance, turns off security inheritance and manually assigns the proper permissions to folders it creates for the file storage instance created for each class. This makes creating classes or copying them slower, makes the code obtuse, is different than the way other packages do permissions, etc.
Now ... changing the code to do the right thing shouldn't be all that hard ... and perhaps upgrade scripts aren't necessary and perhaps would actually be dangerous as people will have already manipulated permissions to get around the problem and changing them in an upgrade script would probably break things.
So maybe just changing the code without bothering with an upgrade script would be the right thing to do.