There is no real way WhatsApp can fix this problem without large consumer backlash from existing customers. The reason WhatsApp took off is because 'it just works' without requiring creating accounts and other nastyness.
You just install it, whack in your phone number, and off it goes. Swap to a new phone? Whack in your phone number, and you're back on your account.
This is why WhatsApp has beaten out the competition (along with good marketing in airports, etc) - and there is A LOT of competition. By fixing this 'flaw', WhatsApp will fail. The best they could do is offer an 'advanced security' option for uses who want more secure communication, but the default insecurity will have to stay.
TLDR: Insecurity is the very bedrock of WhatsApp's popularity. It cannot be 'fixed' at this point.
With WhatsApp you have one account per phone number that you activate on each phone through SMS authentication.
So if I installed WhatsApp to my iPhone 4 under number 917-555-5555, WhatsApp will then text that number with an activation code and when I enter that activation code in the WhatsApp app, it ties that number to my phone with that phone's MAC address/IMEI.
If I then upgraded to the iPhone 5 under the same number, the process repeats itself and now ties that number to the iPhone 5 with it's MAC address/IMEI. I will now lose access to WhatsApp on that number on my iPhone 4.
You just install it, whack in your phone number, and off it goes. Swap to a new phone? Whack in your phone number, and you're back on your account.
This is why WhatsApp has beaten out the competition (along with good marketing in airports, etc) - and there is A LOT of competition. By fixing this 'flaw', WhatsApp will fail. The best they could do is offer an 'advanced security' option for uses who want more secure communication, but the default insecurity will have to stay.
TLDR: Insecurity is the very bedrock of WhatsApp's popularity. It cannot be 'fixed' at this point.