Here's what Canon says and recommends:
Error code No.
|Err 99||A system malfunction has been detected.||-Turn the power switch to <ON> to turn on the power again.|
-Remove and re-install the battery.
-Use a Canon lens.
-If the instructions above do not solve the problem, please contact your nearest Canon Service Center. (*1)
(*1) Please refer the NOTE below.
(*2) Please refer to Related Information.
If the same error keeps appearing, there may be a problem that requires service. Please arrange a repair clicking on the following link: Request a Repair.
For EOS photographers working with cameras that were launched prior to about 2007 (such as an original EOS 5D, a Rebel XT or XTi, EOS 20D, and so on), this error code generated more misinformation than any other. Contrary to much on-line speculation, Error 99 on EOS models of this vintage was a non-specific error code — much like the Check Engine light in a car. The camera had detected some sort of internal disturbance or error, but it wasn’t precisely related to codes 01 through 06 above. Just because two different EOS cameras of the same model may have reported “Error 99” messages in no way meant that they encountered the same problem… any more than two similar cars with Check Engine lights illuminated were necessarily having the same trouble.
If power-cycling the camera doesn't help, contacting Canon for service sounds like the best option.