The strace utility is commonly used to show the system calls made by a process, but it can also intercept them.
Try:
strace -f -e inject=unlink,unlinkat:retval=0 /the/script script-args...
Then every time the process or its children invokes the unlink or unlinkat system calls (which are the normal ways to delete a file), strace will intercept it and cause it to return 0, indicating success, but without actually doing anything.
There will be a lot of output tracing all the system calls. You can add -e trace=unlink,unlinkat to display those calls only, or -o logfile to send the whole output to a file (possibly /dev/null). Make sure these arguments go before /the/script on the command line.
Note this will prevent the script from deleting any files at all; hopefully that's okay. There's a -P option to strace that is supposed to restrict the tracing to calls that access a given file, but I couldn't get it to work correctly in a simple test.
Other variants are also possible: for instance, you can make the unlink/unlinkat system calls fail with an error code, or have them send SIGSTOP to the process so you can poke around before continuing it. See the strace man page for the details on all its capabilities.