I have this set up for multi-casting spells for Hotkeys 3, 4 and 5. Hotkeys 3 and 4 have 3 spells each (say for simplification, 3: A-B-C, and 4: D-E-F), while Hotkey 5 has 5 spells attached to it as multi-cast (5: G-H-I-J-K).
I notice often that when pressing 3 or 4, only spells A and C, or D and F get cast. Same thing with 5 (G, I, K) get cast, and the even-numbered spells don't. I am not sure what causes this, but it happens many times. But within the same game, maybe a few minutes later, all spells will cast correctly. Not game-breaking, a minor annoyance really, but maybe something is not going exactly as it is supposed to go somewhere in the code/OBSE functions.
I am pretty sure I know the cause. When you have multi-cast spells, EH does this:
1. Set the 1st spell to active
2. Wait until the engine tells that it has become active
3. Hold down the cast key
4. Wait until the engine tells that a spell is being cast
5. Release the cast key
6. Wait until the engine tells that the spell is finished being cast
7. Repeat for next spell
Now, to avoid infinite waiting, step 2 and 4 can be given up unsuccessfully, after a set number of frames. I guess what's happening in your game, is that the engine uses some time to finish up the first spell before allowing to cast the second, and by that time, step 4 has been given up, and EH instead jumps down to 7 and start with next spell which, since the wait timer is reset, has enough time to get cast.
There are good reasons for sometimes giving up in step 4. The most likely is that you don't have enough mana for the spell, but there are other good reasons for a spell not being cast too. But I guess the situation for you is that my wait timer is about the same time as readying the spell takes, so sometimes EH gives up too early, and sometimes not. Which means that I need to increase the timer - but I don't want to increase it too much, as that will make the delay before next spell longer when a spell legitimately fails (too little mana).
But you can test this yourself by using the preCastDelay and postCastDelay settings in the ini. The preCastDelay is a number of frames of waiting between step 2 and 3, and postCastDelay a number of frames of waiting between step 6 and 7. If you can try setting one of those up a bit (10 or more) and check if it helps, that would be a good help to me. Note that you don't even have to edit the ini to test it. You can try a cast, then open the console and type "set tnoEH.preCastDelay to 10", followed by enter, and then try to cast again.
Maybe conscribe logged something so that I can give you definites - I'll go home later and try to paste it if available.
Just to be sure, check that EH writes "EH:Could not cast
" each time it gives up in step 4.