Why does this happen?

Because EA no longer sells the game, customer support will provide replacement CD codes. If you lose your key, EA’s answer will simply be: "We no longer support Battlefield 2."