Just a quick note on a problem I had when attempting to add a new MTH PS2 engine to my DCS roster. I could hear the new engine's insides "click" when I applied power to the track, and there were no lights or sounds so I was satisfied the engine heard the DCS watchdog signal on the track. However every time I attempted to add the new engine to the DCS roster, it would say "CHECK TRACK" and then "ENGINE ERROR".
A search on the O-Gauge forum (http://ogrforum.ogaugerr.com) led me to the answer in a section of Barry Broskowitz's DCS bible entitled "The DCS O Gauge Companion 2nd Edition". There is a bug in the DCS software (at least versions 4.1 and 4.2) where you sometimes cannot add a new PS2 engine when a current lashup exists in your roster having the same address that it wants to use to add the new engine.
To solve my problem, I simply edited my lashup engine settings and changed the address of the lashup to a different number. I was immediately able to add the new engine and all was well.