Eu apontaria que (funcionalmente) há uma GRANDE diferença entre ciclos e / ou caminhos múltiplos no SCHEMA e nos DATA. Embora os ciclos e talvez os caminhos múltiplos nos DATA certamente possam complicar o processamento e causar problemas de desempenho (custo de manuseio "adequado"), o custo dessas características no esquema deve ser próximo de zero.
Como a maioria dos ciclos aparentes nos RDBs ocorre em estruturas hierárquicas (organograma, parte, subparte etc.), é lamentável que o SQL Server assuma o pior; ou seja, ciclo de esquema == ciclo de dados. De fato, se você estiver usando restrições de RI, não poderá criar um ciclo nos dados!
Suspeito que o problema de caminhos múltiplos seja semelhante; ou seja, vários caminhos no esquema não implicam necessariamente vários caminhos nos dados, mas tenho menos experiência com o problema de caminhos múltiplos.
Claro, se SQL Server que permitem ciclos que ainda estaria sujeita a uma profundidade de 32, mas isso é provavelmente adequado para a maioria dos casos. (Pena que não é uma configuração de banco de dados!)
Os gatilhos "Em vez de excluir" também não funcionam. Na segunda vez que uma tabela é visitada, o gatilho é ignorado. Portanto, se você realmente deseja simular uma cascata, precisará usar procedimentos armazenados na presença de ciclos. No entanto, o gatilho Em vez de excluir excluir funcionaria para casos de caminhos múltiplos.
Celko sugere uma maneira "melhor" de representar hierarquias que não introduzem ciclos, mas existem compensações.