I tried it with Dice C on WinUAE and don't see any difference between CreateExtIO and CreateIORequest. However I have some questions:
1. what happens for you if it fails ?
2. why do you use UNIT_ECLOCK ? IMHO it is too complicated to deal with these eclock values. UNIT_MICROHZ is much more convenient.
3. Why don't you use CreateIORequest ? It is recommended and as you say with it the program works as opposed to CreateExtIO.
Bye,
Thomas