If the codes are cleared, there will be no specific history, VERY small caveat and I think I am correct on this??? I believe the DME has the ability to allow the dealers and/or anyone with the proper tools to store notes about repairs within the DME??? I was using DIS on my car and found notes that would have only been entered by the dealer at some point in the cars life?? Maybe I am seeing aliens and UFO's, but there was some interesting stuff I found looking at my car via DIS.
So the only thing that may show up are pending codes that have not triggered a CEL yet. Not sure if clearing the codes will clear pending codes that have not triggered the CEL, but I assume it may??
What the important lesson for everyone here to understand is the following:
1. Any fault code is should only be considered a "clue", it is not guarantee the part associated with the code is intermittent, faulty or needs to be replaced. It just means something is out of the expected parameter for the control or input circuit. Many of the stated faults are not accurate, but could be an indicator as to some problem within the circuit. So for example on my car I have a Body code for my drivers side fuel sensor, it states the fault as short to positive. I call BS on this. The DME/IKE has shunt resistors to monitor many of the analog and digital circuits. The problem is BMW came up a bit short in their smarts to really narrow down problems. If the fuel level sensor itself opens the circuit and/or there is a wiring problem between the BMW/IKE an the sensor, the signal circuit will be drawn to a logic level = High, then the DME/IKE assume short to positive, when in fact the fuel level sensor circuit is compromised as "open". The good news is BMW fuel level senders are known to fail often, the resistive wiper become intermittent, so I will just replace the fuel sender and see what happens. I have no plans on tearing the wiring harness out of my car over this issue!
2. Logging fault codes is the key to diagnosis. Start a written log and keep it in the car with the date, mileage, codes triggered, and a comment about under what conditions the CEL lit. Things like; fuel level (right on your dashboard and in your hidden OBC menu), Battery and/or charging Voltage (Hidden OBC menu), Outside temp (right on your dashboard), engine temp (on dashboard and hidden OBC menu), how long you had been driving the car, how you were driving the car (stop and go, highway, full throttle run, mild cruise, etc), and any other commends like even elevation (right on GPS). So you can see if you have a Peake reader or some other code reader in the car, all other data points are easily available.
Logging fault codes generators history that you can look back on for other clues for difficult and/or intermittent problems.
3. I am a firm believer that you should read the trouble codes ASAP once the CEL triggers. Sometimes depending on what the codes are, you may want to clear the codes, sometimes you want to log the codes, not clear them and see if additional codes appear on top of the first codes. This is just one way I like to troubleshoot some problems. Everyone may have different approaches to this, but depending on what code(s) shows up and what tool I am using, I may take a different path to clear and address the situation.
Not that I suggest everyone do this, or that what I do is a "good" idea, but I am very proficient at hooking up my Peake reader @ 70+ MPH to check and clear codes if necessary. My exhaust has been cut and leaks slightly after the Post Cat O2 sensors, I get regular Cat Inefficiency codes, this is a fact, I know what causes them and I know not to worry about them. But when traveling, if my CEL pops on, I do not get excited, I find a stretch of road that is straight and not busy, plug the Peake in read the codes, if they are the codes I have memorized in my head for Cat Inefficiency, I clear the codes at 70 MPH, unplug everything an keep driving without a worry. If I was to pull codes I did not recognize, I would pull over and document everything, check the Peake book for the codes and then decided if the problem is something that needs to be addressed or if I should continue on.
4. BMW has some of what I call "Red Herring" codes that may misdirect your thought process. Some of what I consider as "Red Herring" codes are Coolant Temp Plausibility, Misfire With Low Fuel, Fuel Pump Relay and there are a few others.
Coolant Temp Plausibility in my opinion is sometimes triggered by O2 sensor related codes. I had this shortly after I had to replace a failed Tstat. I was actually watching actively for 2 weeks my coolant temp with the hidden OBC menu. The coolant temp was exactly as it should have been. But on a stretch of highway at 50 MPH with little to no load going down a slight grade, I triggered the CEL, Cat Inefficiency codes popped up, due to the exhaust leaks as mentioned above, however, I believe that the Coolant Temp Plausibility was triggered due to the history of the bad stat and the DME being programmed to note the engine temp may cause O2 related faults. This only happened to me just shortly after the Tstat was replaced, so I clearly believe this Coolant Temp Plausibility is nothing more than an Flag that you may or may not want to pay attention to?
Misfire With Low Fuel - I have this one time and my car had a full tank of fuel. I assume that this code can be triggered based upon fuel level and/or in conjunction with possibly monitoring the O2 sensors for a specific very lean trend?? Again, a Flag you should ultimately pay attention to, but you may not want to consider an over reaction to this code?
Fuel Pump Relay - As mentioned before, the DME/IKE and other modules have shunt resistors to monitor or supervise some of the circuits. The the problem is a fuel pump failure (commutator not making a proper connection) will trigger a false Fuel Pump Relay trouble code. Again, I think BMW missed the idea here where they could have incorporated a small resistor within the fuel pump itself and they could easily distinguish between the fuel pump, relay or wiring between the relay and the fuel pump! Somewhere I read that this was an error with translating the code from German as a relay and not a pump, but from my point of view if this was grammatical error that has propagate though out the industry, it is still a "Red Herring".
So in summary, document, watch and think about what is happening. Not a bad idea you had your TPS's replaced, these cars are 10+ years old and without good sensor input, the engine management cannot do its job correctly. So hopefully this was your problem and it has been resolved, if not you have a Peake reader, just start to gather data.
You AA reading has no impact on the overall driveability of the car, learn to live with it or get a Evolve or other tune that you can request the SAP system codes be ignored. I would never spend the money or time to pull the cylinder heads to clean out carbon due to AA codes. Not sure it will help, but many others claim SeaFoam poured into the SAP supply hose can over time clear up some of the carbon and possible AA codes, but it might not be something that can soften and clear up after many years of build up.
Good luck and hopefully your TPS related issues are resolved.