I had an engine today, The Union Pacific Big Boy, that when loading the engine spec Kuid into the Enginekinds.txt file, the controller would not work. I had gotten the engine spec from the CMP config file as always. I then decided to look at the "Discovering engine type kuid as stated in the OP, and found that the kuid number listed there was different. I took that number and put it in the enginekinds.txt file and everything worked. So if you run into a problem with one engine, check the Discovering engine type for <kuid:xxx:xxxxxxxxx>, recursion 0 and make sure the number matches the number you are inserting in he enginekinds.txt file.
I've found that just loading Content Manager and checking for those items that are Location = Local, Open For Edit and Category = Train Engine ... in-fact I've created a new filter in Content Manager specifically for this (so I can just select the Tab) ... seems to work pretty well ... then I just select all (CTRL + A), copy to clipboard (CTRL + C), paste (CTRL + V) at the end of the EngineKinds.txt file, get rid of the Engine Names and append with STEAM or MODERN as-needed ... and of course, making sure there are no extra lines added ... Save the updated EngineKinds.txt file, Restart Trainz and I'm good-to-go ... hasn't failed me yet.
I also revert (CTRL + R) the Content Manager entries (Local, Open for Edit, Train Engine) so that I know they've been put in the EngineKinds.txt file and are no longer Open for Edit so they won't be found by the filter anymore.