Você deve levar em conta que excluir / renomear um arquivo é, na verdade, uma operação de gravação na pasta pai, que é um "arquivo" especial que contém a lista de filhos (arquivos ou subpastas). Como tal, para evitar a exclusão de um arquivo, você precisa remover a permissão de gravação na pasta pai.
consulte kb 308419 para obter uma explicação:
The Delete permission allows or denies the user from deleting the file or folder. If you do not have a Delete permission on a file or folder, you can delete the file or folder if you are granted Delete Subfolders and Files permissions on the parent folder.