I sure hope someone is still alive here.
The default value for ML_OPEN_XCODE_MODE_INT32 is set in mlpublic.c to ML_XCODE_MODE_ASYNCHRONOUS. This has an enum value of 20. MODE_SYNCHRONOUS has an enum value of 10. mlDIparseOpenOptions() prevents the user from decreasing the default value.
Therefore a transcoder can never be opened in synchronous mode?