Согласен. Но обычно эта проверка(и все остальные) идет в YModel::model() методе, т.е. создавая модель через YModel::model()  я перекладываю вину за непроверку существования класса на YModel, где её легко исправить, нежели проверять каждое место в коде, где есть вызов new $<название переменной>->findByPk() что является черезвычайно сложной задачей порой.