just to clarify on "IDM codes"...
IDM (related) codes...do NOT necessarily that there is ANYTHING wrong with the IDM itself...
anything that communicates with, or is controlled by, or is connected to the IDM can cause "IDM codes"...
wiring, injector problems (even internal injector/mechanical problems related to the clearance between the armature and the solenoid), solenoid problems, wiring problems..flaky PCM, etc can all cause "IDM codes"...but have nothing to do with the IDM itself.
Aside from a bunch of guys with oscilloscopes and meters...and injectors with which we test IDMs, we also have an engine simulator...
basically it's an engine..minus the (mechanical) moving parts...a PCM, IDM, all engine sensors, OEM harnesses, etc...
we feed the PCM a 'CPS' signal..so that it thinks the engine is turning/running actually 'firing' the injectors (without oil or fuel)...and we're able to monitor/scope pretty much any damn wire or sensor we want..
we've seen "a" PCM..throw IDM codes with one IDM, and not another...another IDM and PCM combo, no codes..
99% of the time...the generic "IDM codes detected" doesn't seem to matter...in that I've never seen any ill-affects from simply having 'a' code...and FWIW...most of our HVHF IDM's will store "IDM codes"...but obviously don't cause any type of CEL/SES light or otherwise hinder performance.
in short...simply use "codes" as a verrrrrrry loose guideline when troubleshooting a problem or diagnosing an issue.