承認された答えは良い答えではありません。説明されているシナリオは悪い設計ではなく、データベースに依存してその仕事をするのは「危険」でもありません。
元の質問は完全に有効なシナリオを説明しており、設計はよく考えられています。明らかに、ユーザーを削除すると、ユーザーのアイテム(およびそれらへの投票)の両方を削除し、任意のアイテム(他のユーザーに属するアイテムも含む)へのユーザーの投票を削除する必要があります。ユーザーレコードが削除されたときに、このカスケード削除を実行するようにデータベースに依頼することは合理的です。
問題は、SQLServerがそれを処理できないことです。カスケード削除の実装は不十分です。