However, is there a reason why you couldn't prevent that and maintain your privacy by destroying an older wallet?
Yes but how would you know who they are? Each transaction is done by a long string of random numbers not a name and address.
To tie a name to an account you need to actually capture someone's wallet. Although you could also make assumptions by, for example, noticing that pierre36's credit card was used to buy bitcoins from mtgox for a specific bitcoin account.
you could also see a string of money transferring from one wallet to the next but you can't know who owns the wallet in each step. It can be one guy shuffling his money or multiple people trading.
And heck, you could buy coins for account A with a credit card, then transfer some of them to account B you own, then pay some of them to party C with account B. Then destroy both account A and B.
Despite being public it becomes very anonymous very fast