Not sure what the original cause of the issue is - if you are able to reproduce this reliably please send us the BSV and the description of the changes.
Now what to do when a problem like this happens.
If you are just doing development and do not care about current data, then all you need is a BSV, so make sure you always have the current BSV file - it's like working with a Word document - whenever you do something make sure that you save your work. If a problem like this happens the easiest solution is recreate a business space and re-import the BSV. This should always work fine as the BSV includes everything - reports etc.
If you do have production data already that you care about then any publishing of a new BSV that involves changes to the database structure (business objects and attributes) should be considered a MAJOR EVENT. If anything goes wrong during the publishing operation you may lose your data. This is especially the case when you rename your objects/attributes and/or change the types of existing attributes.
So you need to prepare properly for this. Before you publish you need to export the current BSV (and the new one) and perform a FULL BACKUP of the current database.
If ANYTHING GOES WRONG during publishing the first thing you need to do is RESTORE THE DATABASE FROM THE FULL BACKUP. NEVER DO ANY FURTHER WORK ON THE DATABASE THAT YOU ENDED UP WITH AFTER PUBLISHING ERROR.
The full restore should restore everything properly - there should be no report or any other errors. This is because the full snapshot of the database should include EVERYTHING THAT THE SYSTEM NEEDS to work properly.