how's that a bug? if the person is stupid enough to cast the spell on an immune character, why shouldn't it cost MP and fail, just like it'd do in battle? or are you saying outside battle checks should be more stringent than in-battle (e.g. you can't cast Cure on somebody with full HP)?
There are checks made for the spells outside of battle that prevent you from needlessly consume MP. This started since FF5 IIRC, and has probably been the case since.
at any rate, thanks for pointing this out. i hadn't known that status permanence persists outside battle.
Eh? You forgot about Float and Clear status (other than Death, Zombie, Stone, Poison, Blind, and I think that's it)?
before reading your post, i would have guessed that the Float in your example would be removed.
Cherub Down/Angel Wings always enforces Float status, regardless of your current status. The problem though is that Dispel's primary function outside of battle is to remove Float and Clear (though Clear can be rid of much more easily with Cure). There isn't a check to see if perma-float is instituted to prevent Dispel from being cast. Then again, the game has no distinction between Float casted by your own characters and the relic (or equipment) that adds perma-float... so you can actually remove your own Float when equipping and removing this piece of equipment...
As an aside, I don't know how long Float works, but IIRC, it was timer based..