The situation is more complicated as it seems at first sight.
a) The behavior should be the same for uploading files via zip files, or a single files. Therefore, one should sanitize always or never.
b) I had a hard time to find, where the "view" method is used. On OpenACS.org, all file-links are "download" links.
c) you say, that "download" works everywhere, but "view" has problems. Why are the files accessed differently in "view" and "download"?
d) urlencoding: the RFC 3986 defines url-encoding differently for the "path" and the "query" part of the URL. Aolserver ignores the difference, and performed everywhere (incorrectly) the "query" variant. In OpenACS+naviserver, the urls (and therefore the path_info) are decoded correctly, but not, if someone encodes the path-part of the URL with the query-part encoding. Therefore, the place, where the "view" link is generated, should use the "path" encoding.
How do you get the "view" link? is this a custom code?