Hi Raul,
 
The OOB Function can help you to reactivate the Lead, but not 100% Undo, it is just help you to re-activate it then nothing happen to your other created entities record, such as Account, Contact, Opportunity.
Once you Qualify it again, it would have another record for each of them depends on your input, using Existing Account/Contact or not, but it will trigger duplicate detection warning then warn you that you are about to create duplicate record.
To avoid that, you need to delete it, yes manually or programmatically (using Plugin, Workflow, or Action, or create a ribbon to call Js function.)
But here, I am going to explain the manual way because if this is not common you can ask the sales guy to do himself and compare to the effort and human-error if doing in bulk I think here you can see the manual way first.
So here is the practice to 'clean-up' the 'silly qualification' so that user wont mislead about this.
You create 3 subgrid,
With 3 data source: Account, Contact, Opportunity

Okay then put in the Form, make a good Tabs or Section there to make you easier view it, save, publish.
Then ask the user to delete the record inside the subgrid.
Example deleting Account

You can delete the Account record through subgrid.
Do the same thing for the other two entities (refer to my next statement, if you didn't change anything, by default once you delete the Account, it will also delete all related Contact and Opportunity)
This is very recommended before you reactivate the Lead to avoid any duplicate record I mentioned earlier.
Then, if you still implement the Parental record delete behavior in Account-Contact relationship and Account-Opportunity, you can just delete the  Account, and..yeah, it will also delete the related Contact and related Opportunity,

CRM by design already did this, so once you delete the Account you also delete the Contact, Opportunity.
 
 
 
*But, be careful of this behavior.
 NOW, user can re-activate the Lead.
So, summary:
1. Create subgrid based on originating lead id
2. Delete the created Account.
3. If your Lead didn't qualify to create new Account, delete the Contact.
4. If your Lead didn't qualify to create new Contact, delete the Opportunity
5. That's all inside the subgrid
6. Reactivate the Lead.
Hope this helps you.!
Thank you.