ERR99 is a maddening little nothing that Canon uses to describe anything they just don't know what it is. If you get one though, you have to turn it off, then back on, maybe pull the batteries, maybe even the little button battery and wait 2 minutes. It's infuriating. It could mean the CF card needs formatting, the lens might be loose or the contacts dirty, or any of a number of other things. My new 40D started getting them after a week or so, then it go so bad over the next few months I needed to send it in to get fixed. They replaced the mother board and sent it back, and I still got ERR99 for months, on and off. Now, it seems to have gone away, since I haven't gotten one in the last 15,000 shots or so.
My own opinion is, nobody knows what an ERR99 really is. 