Много добър въпрос. Няма основна причина, поради която референтното ограничение не трябва да препраща към нещо различно от кандидат ключ. Има дори име за такива ограничения:Зависимости на включване. Външният ключ е просто вид зависимост на включване, където целта на ограничението се оказва кандидат ключ.
За съжаление SQL не предоставя добра поддръжка за зависимостите на включването или дори за референтните ограничения като цяло. SQL ограничава своите т. нар. ограничения на FOREIGN KEY до препращане към колоните на ограничение UNIQUE или PRIMARY KEY (не е непременно ключ кандидат).
Така че това, с което се сблъскахте, наистина е съмнително ограничение на SQL. Това не означава, че правите нещо много грешно.