Ich hab' das an meinem ersten Beispiel mal ausprobiert und ON DELETE CASCADE bei den hinzugefügt FKs hinzugefügt. Bei nur einem klappt es sobald ich es bei beiden FKs anfüge bekomme ich die Fehlermeldung:
Server: Msg 1785, Level 16, State 1, Line 1
Introducing FOREIGN KEY constraint 'FK_Personen_Adressen2' on table 'Personen' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Die klingt für mich ziemlich eindeutig und sagt, dass es nicht möglich ist auf ein und die selbe Referenz mehr als einen kaskadierenden Delete zu setzen.
Als workaround fällt mir nur ein Delete Trigger ein, mit dem Du das kaskadierende Löschen erzwingst.
Oder Du packst die Logik für kaskadierendes Löschen in einen anderen Layer Deiner Anwendung.