Yes, it happened to me today) But we could restore the site. Thanks God we have a SQL backup of the web app and we simply restored it on the staging env and than I ran there:
stsadm -o export -url <the restored site url on the stg> -filename <export file name> -includeusersecurity -versions 4
It will backup the site with the item version and users. But be mindful there are some site size limitations. If the site is huge - you don't have any other options except restore the whole web app restore
In case you site is small, you are a lucky guy\lady! Once you get the backup of the site.
Go ahead and run on Prod (I highly recommend to do backup before - just in case):
stsadm -o export -url <URL name> -filename <export file name> -includeusersecurity
It will restore the site with versions and users. Be mindful the versions and users will be restored if the site collection where it's restoring has these users. As I can guess the user field holds the id of the user and when sharepoint restores the site it searched the id of the user on the site collection level. If the user was found, it will restore the user field's value and the versions associated with this user.
One of the way to prevent the prod site deletion - use the SharePoint Site Recycle Bin.
I haven't tried for myself. But I used the old implementation of it. Microsoft deleted the old version, but I save it and can share with you:Microsoft IT Site Delete Capture LE 1.0.rar
Happy restoring to all!