Hello,
The issue is that the file is not deleted until you save the record - this works a bit differently to regular fields, as file changes must be synced to the server on save.
Right now you would need to check for file changes via the object "fileIdMapChange" to catch the case where somebody uploaded but then decided to delete a file before saving.
The current behaviour is not really well designed. I will have a look for the next release, if we can improve this.