Why deleteAllResponses isn't the whole job
Google Forms stores responses in two separate places when you have a linked spreadsheet: the Form's own internal response store, and the destination Sheet. The Forms UI button labeled "Delete all responses" hits both. The Apps Script method `deleteAllResponses()` hits only the first one.
The first time I hit this, I was resetting a registration form between event runs. The form showed zero responses, the summary charts were blank, but the spreadsheet still had 47 rows of old data. New responses came in starting at row 48. Downstream formulas expecting a clean slate broke silently.
So a real reset is two operations: call `form.deleteAllResponses()` to clear the Form store, then locate the linked spreadsheet via `form.getDestinationId()` and remove the data rows from the sheet yourself.