Zatwierdzona odpowiedź nie jest dobrą odpowiedzią. Opisany scenariusz nie jest złym projektem, ani poleganie na bazie danych w celu wykonania swojej pracy nie jest "ryzykowne".
Pierwotne pytanie opisuje doskonale słuszny scenariusz, a projekt jest dobrze przemyślany. Oczywiście, usunięcie użytkownika powinno usunąć zarówno elementy użytkownika (i wszelkie głosy na nie), jak i głosy użytkownika na dowolny element (nawet elementy należące do innych użytkowników). Rozsądne jest poproszenie bazy danych o wykonanie tego kaskadowego usuwania po usunięciu rekordu użytkownika.
Problem polega na tym, że SQL Server sobie z tym nie radzi. Jego implementacja usuwania kaskadowego jest niewystarczająca.