AmtRemoteControl.AmtPowerStates PowerState = computer.Remote.GetSystemPowerState();
byte command = 0x11; // Powerup
if (PowerState == AmtRemoteControl.AmtPowerStates.S0_POWERED || PowerState == AmtRemoteControl.AmtPowerStates.S1_SLEEPING_WITH_CONTEXT) command = 0x10; // Reset
byte specailCommand = 0x05; // boot with cd
AmtCallStatus s = computer.Remote.SendRemoteControl(command, 0x157, specailCommand, 0x0, 0x0, 0x0);
Hi there. First off, I can't say I have been very happy to remote control commands, I have never been lucky at making them reliable. Never the less, it should work pretty well. I want to start by saying that the redirected CDROM (IDE-R) and a local CDROM are considered very different. For booting to IDE-R CDROM, I have notived that if you use a .ISO file, you must copy it to the local hard disk of Commander. Using the .ISO on a flash key or network share never works, and it will hang just like you describe. I don't know why that is, I am not the author of IMRSDK.dll, so, I can't investigate that... but I have seen it many time. By the way, you can also boot to a very large floppy image, there are large 1 gig floppy .img files you can use... and IDE-R using a floppy has the added benefit of being read/write.
For booting to a local CDROM, it's not something supported by AMT, but ASF does support it, so you may have to try using ASF instead of AMT. In any case, you probably noticed that at the bottom of the custom command dialog box in the terminal, you see exactly what remote control commands are sent. I would just try it and see what works. Normally I would try it myself but I am overloaded for the next week.
Ylian (Intel AMT Blog)