I replaced DIC, did a basic drive cycle to remove codes, but didn't remove codes. All my monitors are in ready state. The check engine lite was on, however, now it's off, I still show codes on scanner. O'Reilly's Auto Parts will not clear codes at this point, says do drive cycle. What am I doing wrong? Thank you
This sounds like proper OBD-II software behavior. The CARB OBD-II rules state that for most trouble codes the check engine light should go off after two passed tests and then the codes should erase from memory after 40 passed tests. The fact that the light has gone off on its own is a good sign that the repairs were correct. No need to clear the codes, just let the on board software resolve the issue.
Note that OBD software logic has changed over time so it is important to know what year the vehicle was made. In the first few years, 96-98, it was not uncommon for the software to not follow the rules.