Well, I had been thinking of this possibility...You can use your MP even to the last spell, though when that last spell uses up ALL your MP, you'll end up having to regenerate your MP, probably with a few buffs/debuffs attached. Seems doable though it overwrites some of the default scripts (I base this on RPG Maker VX Ace).
First, we need a state that regenerates MP but silences Skills as a result. I based this on FFXV's Stasis, though I got the concept wrong. Anyway, I'll simply call this state Stasis since I might end with a "mastery" that boosts my damage while suffering this. In my case, Stasis has no turn limits but gets removed at the end of battle.
Second, I need to check Game_BattlerBase. If I recall, there is a refresh method in there that is designed to keep HP/MP in range and to apply KO based on HP; here, I'll have Stasis apply when the MP hits 0 but get removed if it hits mmp (max MP).
Now, Stasis should activate if I hit 0 MP, though obviously, I can't get that number. I'll have to modify skill_cost_payable? (preferred) so that MP is not calculated. In theory, that should make the skill selectable regardless of MP, MP still refreshes to 0 and Stasis activates. In turn, Stasis prevents me from activating my skills until the state is removed mainly from reaching my max MP.
---
Alternatively, I could ignore Stasis. In turn, I'll replace the MP cost under skill_cost_payable with the condition that mp isn't 0 (unless the mp_cost is 0). In addition, I'll also make it in the battle formula that if the skill's mp_cost*mcr is higher than the user's MP, it will reduce the damage of that skill.
So yeah, those are two ways to use up your MP. I haven't implemented them, but I'm pretty sure they'll work. It's up to you how you want to use the last of your MP.