Bardzo dobre pytanie. Nie ma fundamentalnego powodu, dla którego ograniczenie referencyjne nie powinno odwoływać się do czegoś innego niż klucz kandydujący. Istnieje nawet nazwa takich ograniczeń:Zależności włączenia. Klucz obcy to po prostu rodzaj zależności włączenia, w której celem ograniczenia jest klucz kandydujący.
Niestety SQL nie zapewnia dobrego wsparcia dla zależności inkluzyjnych, a nawet ogólnie dla ograniczeń referencyjnych. SQL ogranicza swoje tak zwane ograniczenia FOREIGN KEY do odwoływania się do kolumn ograniczenia UNIQUE lub PRIMARY KEY (choć niekoniecznie jest to klucz kandydujący).
Więc to, z czym się spotkałeś, jest naprawdę wątpliwym ograniczeniem SQL. Nie oznacza to, że robisz coś bardzo złego.