The same basic fix also works for the Alliance line of spells (and bard song).
I'm new at this and haven't tested it extensively, but it seems to have things working the way they should.
In IsHarmonySpell(), spdat.cpp line ~202 replace:
if(sp.effectid[i] == SE_Lull || sp.effectid[i] == SE_Harmony)
with:
if(sp.effectid[i] == SE_Lull || sp.effectid[i] == SE_Harmony || sp.effectid[i] == SE_AddFaction)
|