This is no different from the situation in dcss, except that in dcss you're encouraged to do it before every encounter which is terrible. The criticism that a spell is often cast out of combat draws its force from the "often" part. If the spell is cast only a few times in an entire game, the tedium of optimal play argument is gone. It feels powerful because it plays so much faster than dcss, but you can't really get away with using higher fail rate duration spells than you do in dcss. If it seems that you get permacharms online earlier than dcss charms, this can be fixed by adjusting spell levels, the capabilities of the forms, or reducing mp availability.
It's the spells that do really new things that present a balance question. Cigotuvi's embrace is essentially a new spell now and it's actually good, like a defensive song of slaying. Similarly, song of slaying is pretty different from the dcss version with a slower decay and lower plus, it encourages you to move quickly from encounter to encounter. There's a lot of potential in mechanics like this, but right now it falls victim to bad dungeon layouts. As with linearizing the dungeon, linearizing layouts offers some potential gains.
As a digression, here's an sketch of how to get crawl layouts to a better place, with the caveat that I don't know a whole lot about current generation outside of what its results look like. Layout linearization can be accomplished by more deliberate stair placement and through use of vaults, possibly needing some extension of vault placing functionality. The general idea is to place long, thin vaults that go from the edge of the level (I believe there's a vault placement directive that makes vaults place flush with an edge of the level) that extend over half the width of the level. They could be as simple as single tile permanent wall, but there could be embellishments. You may want to break up the part of the level available to normal layout generation so that you get zigzags, C-shapes, maybe spirals filled with the usual layouts but having essentially just one direction to go in a level. Schematically, you're looking at something like:
- Code:
+---------------------+
|.....................|
|....@................|
|.....................|
+------------------...|
|.....................|
|.....................|
|.....................|
|....-----------------+
|.....................|
|..................>..|
|.....................|
+---------------------+
Here, the places where you see .'s would be filled in by normal dungeon generation. You can see that you get a "lane" that defines the large scale structure of the dungeon with the player starting at the "beginning" and stairs appearing at the "end." Of course, you could have other stairs generate closer to the beginning, say one near where the player drops so the player has a diving option, and two more at about 1/3 and 2/3 of the way through the level so that the player has the option of bailing if things go wrong. The lane is wide enough to allow some lateral structure, but narrow enough that exploration is fast and keeps you moving into new encounters, not a lot of areas that have been effectively cleared of monsters by general depopulation as happens currently.
You might worry that this makes withdrawing from fights less likely to result in the player running into additional monsters. If this turns out to be a problem, then one way to address it is to introduce monsters that spawn behind the player over time. Durably summoned spatial vortices would be a natural choice in my opinion, though you would not want them to be able to break out of the lane structure. There are lots of similar possibilities opened up by total linearization, since now you can define what "going forward" means in a much finer sense. In principle, these kinds of spawns could make a far more effective timer than anything that exists in crawl now.
From what I understand, you can get pretty close to this situation using existing vault directives, perhaps with some modification to guarantee a class of vaults like what's described above will generate on every level.
*Lana Del Rey voice* , video games...