Currently a set is defined as something that can have elements with values from 0 to 255. Allowing the rebasing of sets would contradict this.
Yes but, as Howardpc mentioned, it's quite obvious that a cardinal type has quite a few more than 256 elements and the compiler _knows_ that and it also knows that the set range being used is of that type, yet it allows it.
If you're going to apply the rule that a set can only have 256 elements then, it's obvious the variables that determine the boundaries of the set cannot be of a type that go well beyond that range.
If the compiler is going to allow variables of a greater range then it needs to rebase and simply enforce the 256 element rule. Otherwise, as you stated, the behavior is confusing.