I wrote an sp to delete data using a one field table variable to hold values to be deleted.
Only 3 values were put in to the table var, but when compared to a Product table, all rows were matched and deleted. I had miss-named the table var field in the sp delete statements.
The design-time compiler let the mistake through, and apparently the run-time engine said "can't find ProductID in table var" I know I'll match Product.ProductId with itself.
So everything was deleted instead of getting an error.
Happens in 2008 and 2012