Use the OnStoryIncreaseLevel Event to switch a variable (could be a Global or just a Property variable in a Quest), and make that variable a condition for the Spell's effects. Also attach a Script effect to the spell with an OnEffectFinish Event to switch back the Global/Property variable so the spell is only usable once after every level up.
How would you set up a quest for that exactly? I get that you place a property in a script attached to a quest, but.. how do you setup the quest to use the script, or maybe I don't understand this as well as I thought. *confused*