we're professionals, we clear obd2 codes with scanners, i've never seen obd2 codes cleared by removing the cables personally unless the car's been sitting for quite some time. since we have a scanner and the customer needs their cars promptly, there's not the luxury of letting it sit overnight with the battery disconnected and hoping the customer's codes are cleared, so the customer can pay and pick up their car the NEXT day. we do the work, fix the car, clear the code, get payed,here's your keys sir/ma'am, have a nice day, the SAME day.

on rare occasions where we've had to get ecu's from junk yards, some ecu's will still have the trouble codes for the car it was previously in in there. imagine how long it's been sitting with no battery voltage on the shelf of the junk yard. shit it's the same with stand alone's, if i disconnect my battery cables for 2 months, i connect it back up and i don't lose my tune (thank you jesus), because that information is burnt into the processor, just like DTC's are burnt in the processor, so i can't understand how some of you say you cleared the codes by disconnecting the battery. some cars after the repair for the dtc is made, the code goes out on it's own, for instance a gross evaporative system leak caused by a loose gas cap. if that person tightens that gas cap, on some cars, that light will go out because it does not detect the error anymore, other cars it will need to be cleared out. why? because the trouble code is burnt into the processor.

anywho, if you say you've cleared an obd2 car firsthand by disconnecting the battery cables, maybe you did.i personally don't see how (theory and operation). my goal wasn't to start a debate about clearing codes, but to offer information for the thread starter.