Make sure the fuel level is between 1/4 and 3/4 and the engine is cold.
Start engine, idle cold for approx. 2 min, 10 secs.
Accelerate to 20-30 MPH, Maintain steady speed for approx 3 min, 15 secs.
Accelerate to 40-60 MPH, Maintain steady speed for approx 15 mins.
Decelerate and come to a stop. Idle in gear for approx 5 mins.
WARNING! It is absolutely essential to keep the RPM's below 3,000 and the MPH below 60 for the duration of this test! This won't be easy to do, unless you have access to a dyno or a race track, since traffic conditions could ruin the whole procedure and you have to start again with a cold engine.
With gas in the vehicle go through your normal driving for a day or two. If there's any doubt that the ECU's not ready take it back and have the shop check the monitors. We have our customers return to check everything before we sign off on the repair.
It's not mileage specific. The computer needs to see acceleration, deceleration, idle, open loop and closed loop, and some constant rpms or cruising before it will set the monitor. A couple of days of in town with a short highway trip would be enough.
I think you spend too much money for someone to fix your check engine light. I only replaced my water thermostat to fix my 2002 BMW 325i check engine light. I drove for at least 100 miles for the computer to reset. My car passed the smog check that year and never had problem again. hope this help you,