The short answer is whatever the historical reasons for the current interpretation(s), it should follow C99 rules to avoid confusion.
One potential catch is that the compilers don't implement C99 rules when signed and unsigned values meet, but something closer to the original convention
(which frankly was simpler) that the result (or comparison) is unsigned, portably, regardless of word size. I suspect things will break if that is changed,
although again using the C99 rule is probably less confusing in the end, because both people and new incoming programs will expect the C99 interpretation.