Deleting files depend on the write permission of the directory where the file is stored, not the write permission on the files. So the umask won't help you (as you've already found out).
Unfortunately, you'll need write permission on the directory to allow uploading.
The solution is thus not so trivial as you might expect. You'll need to disallow the "delete" command in FTP.
To accomplish this, I suppose you could use:
-a chroot jail, with no "rm" executable (altough I'm not sure FTP will use the "rm" program to delete the files)
-configure your ftpd to disallow certain commands, in particular the "dele" and "mdel" commands and perhaps also the "rename". But I'm not sure this is at all possible with vsftpd. Perhaps you'll need to switch to a different (more complicated) ftpd for this.