No one knows where it comes from actually. Not from the firmware, anyhow, but more probably from the body-lens communication flow or from the CF card write process.
It happened to me last night, as I was shooting with the "nifty-fifty". I had to shut down the 20d, remove the BP511 and the 2Gb CF card, put everything back and then it was OK again. I went on shooting and everything was fine (I was able to review the pictures on the LCD, delete some, etc.)
This morning when I downloaded the card into my PC, I got only the pictures made before the err99, not a single one from those I had taken afterwards (although I had seen them from the CF card on the camera yesterday night).
I had to use a CF recovery software to make an in-depth analysis of the card and I could get back everything, apart from a dozen of pics with gray (missing data) areas. But of the 150 I had made after the default occured, I got 90% back.
I have no idea why this did happen, as I was making absolutely nothing special. It just happened between two shots with no apparent reason.