These are the steps that VirtualBox takes when it writes a new Vbox file. Each step is contingent on the last one being completed without errors.
- Write a temporary file with ".vbox-tmp" extension.
- Delete any existing ".vbox-prev" file.
- Rename existing ".vbox" file to ".vbox-prev".
- Rename ".vbox-tmp" to ".vbox".
If anything goes wrong with this sequence you are left with the ".vbox-tmp" file. So to recover: if there's a "vbox-tmp" file in the folder then rename that first. If that doesn't work you can use the "vbox-prev" local backup. A copy from yesterdays daily backup is normally just as good.
NOTE: You should stop recreating the VM from the VDI, which actually
doesn't recreate the VM. What it actually does is create a new PC with different motherboard and MAC signatures even though it has the same disk content, which will affect activation and licensing of software, and the booting of some Linux grub scripts, it will also destroy the management information for snapshots, encyryption and bridged networking - some of these losses would be catastrophic.