Obviously this should not have happened. i would appreciate knowing (you can just send me a convo) what exactly you tried adding so I can replicate it. Deletion is by exact match, including special characters, it should only delete by exact match.
A couple of questions:
The program should only change what has occurred in the local change first. If it messes up for any reason you should be able to see this before uploading to your shop. I'm assuning this looked OK before uploading? This function also works for delete as well. You should be able to set up the delete, examine the listings before uploading, and stop/cancel it before uploading if something goes wrong.
I would recommend you just select just one or two listings first and try that - and then check the results just to make double sure.
Another note: You can save your listings as a seperate database like ShopBefore. This saves the listings as they were and it is possible then to get back to that if needed.