This happened to me in Magento 18.104.22.168 when importing a single change to a set of products. That is, I had only two columns in the CSV file to import: teh sku column, and the column with the value to change. Now unfortunately I had a syntax error in this second column, so it got ignored. And the remainig sku column with zero other values seemed to tell Magento that I want all values removed. Which it did. The products disappeared completely from the catalog after that import.
Interestingly, they were not really deleted, “just” invisible everywhere. Because when I re-imported them wth the same SKUs they had before, every product got the database ID it had before, except one that I had completely deleted manually, which got a new database ID. (The database ID is the ID column in “Catalog -> Manage Products …” in Magento.)
I did not test the above theory with another case, as I was unnerved enough with the first (causing nearly data loss). If you can confirm this, please add a comment. Thanks 🙂