I won't speak about the UI, it's a different issue.
When you speak about magic what can you think of ? Magician waving hands ? Old parchments with strange inscriptions ? Fireball ? Flying ? Summoning pets ? Saying a strange sentence ? Rituals ?
A lot of things are under the term "Magic". What would immerse the player and letting him think he is a magican ? He is searching for magic ?
First I would say that I know some things that would prevent that immersion : when you research a spell it looks like you're researching technology, seeing spell points being "used" when I choose a new spell reminds me that I'm in a game and that the spell is just an effect with candy graphics (or not), searching for spells available makes me think of som ekind of library more than some kind of magic laboratory, rediscovering magic doesn't means that you can explore new ways.
In research you have "search". When you "choose" you don't "search" for anything : you see whatever is available to you. Searching has something to do with trying.
For instance you could use spell points to try new effects and with enough "trying" (based on your intelligence ? Wisdom ? Both ?) Why not having a real magical laboratory ? With magical wards to avoid bad effects while trying ?
What is a spell ? It's an "effect" on a/some target(s) for some times/permanent/instant.
So : Effect, target(s), Duration
Let's try to think out of the box : why not some multiple step spells ? To cast a volcano you start castin ga fireball, then you try to keep it alive for one day, then you try to expand it, then you imbue it with earth element, then you expand once more, then you try to change it's target, then you try to change duration from "one day" to "permanent"
We would need one more criteria : conditions.
So we have : Conditions, Effect, Target(s), Duration.
We could have a bunch of effects, some durations available, some targets (with variying ranges) and durations.
When you try to research a new spell from the fire book, you get the "fire" effect. With the basic book you already got the "throw" effect and the target "one unit in battle". If you need ideas you can use the Ars Magica magic system.
You mix fire + throw + one unit in battle and you have a fireball. But if you have the "one unit on the strategic map" you can cast a fireball on the strategic map.
Once you have created the formulae, the real research begins : you see some cauldron or a parchment. You put magical signs on them. The computer would randomly generate each game new signs. So in a game a "R" would mean fire but in another a "T" would mean fire. You would put them on some magical net. When you click research, the game would give each sign a weight and calculate if the net resist the way you put your signs. Most of the time it wouldn't be good. You lose 1 spell point but you can try once more and try to get the perfect balance. The more signs are put, the harder it is to balance signs.
When you finally reach balance, you can see some animation like in MoM with strange scptings that are inscribed on your spell book. If you want to enhance your already existing spells you just have to select your spell, change the signs and where they are placed.
I know that won't be in the game, it's just to late to implement such things, but I hope you get the idea behind all of this : bring back the "search" in research ! Or at least a way to "create" spells instead of just "purchasing" them with spell points.
Don't you remember the Dungeon Master magical system ?