The misconception here is that Flight numbers are not treated as IDs. A unique key to any flight is the composite of number/origin/departure date.
And it's mostly a holdover from legacy systems airlines are entrenched in, so there isn't much else anyone can do here short of completely reinventing the mainframe reservation systems and heavily refactoring all the pieces that depend on it.