Here's what I think. It's purely a guess but it makes sense to me based on my past experience with systems like this one. There's a bug, all right, but it's in the lens update firmware, not the battery registration code. The firmware updater wants to make sure that there's enough juice to complete the upgrade, so it makes a call on another part of the firmware: "Return battery info". What comes back is everything: not only the current state of the installed batteries, but the entire battery registration database. If you have more than, say, two batteries registered, the returned package is too big and overwrites part of the data space used by the updater, converting some of its parameters to garbage. Hence it then blows up when trying to flash the new firmware. Clearing out the registration info reduces the size of the data returned to something the firmware update code can handle and the reflashing then succeeds. Unfortunately, for those who don't get the word, their lens has now had its firmware wiped and is now a metal-and-glass paperweight. Ooops, as they say.