I read somewhere that there are multiple computers that track the odometer mileage--and if the PCM ever disagrees with the other copies of the odometer it flags itself as having been modified and throws the code. That thread (I don't have the link, sorry), said that if you're careful and swapped the ecu in with the exact mileage already programmed it won't throw the code.