Ok, I finally figured it out (whew!). The cause is the encounter zone mods I had installed (Arena and MEZF - Missing Encounter Zones FIXED). Once I disabled those two, Alduin starts fighting properly.
SOLVED: @Greg, you were correct. It turns out that in fact it was the script mismatch I mentioned in my previous post, and it was baked into the save game. Unfortunately, in order for the fix to take effect you need to start a new game (so if anyone in the future runs into this, sorry, your current save is probably SOL).
In any case, after removing the script mismatch and starting a new game, Barbas appears in the correct place and Ill Met by Moonlight proceeds correctly after talking to Sinding the first time.