Ebbene, uno dei motivi per cui le regole stanno probabilmente prendendo il margine è credo che con le regole puoi averne solo una per colonna e controllano solo i dati che entrano nel database, ovvero non controllano i dati esistenti già nel database. Con i vincoli di controllo puoi avere più vincoli su una determinata colonna e si applicano a tutti i dati (dati in entrata e dati già nel database). Dato che le regole sembrano essere una soluzione scadente a quali sono i vincoli di controllo, Microsoft probabilmente ha finalmente capito che era ora di sbarazzarsene, inoltre non sono standard SQL.
Se un vincolo di controllo non lo taglia, puoi anche considerare l'utilizzo di un trigger per una logica più elaborata.