This may be a rhetorical question, but why can't SharePoint url-encode filenames so it can accept files with any characters?
File named "My File: Has symbols... & stuff.ppt"
would become "My%20File%3A%20Has%20symbols...%20%26%20stuff.ppt" < and that works fine in a URL.
Many other modern web apps handle this, and there are URL encoder/decoder functions readily available. So why does SharePoint not do this?