I’m not exactly sure, but my guess would be that the Delete Row action fails because the form screen is not attached to any row, so there is nothing to delete.
Regardless, this is not a reliable way to prevent duplicate entries.
The best way to prevent duplicates is with a Custom Form. With a custom form, your form inputs are first written to user specific columns. This allows you to detect a duplicate before the form is submitted, and use conditional logic to prevent the user from submitting the form.