In other words, what is preventing the saving process from additionally writing something to the screen while the game continues running? No room for extra code? No access to the screen/framebuffer from where the saving process resides?
The modern style general flash cart approach is present the kernel as its own ROM to the GBA. Handle saves and whatever. Have user select the ROM. Set the entire ROM section to the user selection + any extras like cheats and soft reset (if possible/desired). Either hard reset (you see the GBA logo again) or get the undocumented soft reset (no logo) going on and boot into the game, which usually involves a memory wipe. At this point there is no visibility for any code the flash cart has that it did not just inject into the game. It might be able to stuff some code in a blank section at the end of the ROM* (or do some kind of exotic bankswitching) but the GBA game would have no idea about jumping to it other than if you patched it (or for the bankswitching had foreknowledge of where the code would next run on the cart) -- I am not aware of any cart level interrupts that it can send and say jump here in this CPU mode, and if there were we would have a lot better cheats, savestates, in game text readers, soft reboots, probably new ROM selection, possibly cheat search, some kind of screenshot, memory readers, possibly auto button pressers, selectable slowdown...
If you are coming more from playing with NES, SNES, GB/GBC, possibly N64 and the like then the GBA cart is basically very fast bulk ROM storage and a save bus, anything fancy like tilt, solar, rumble and whatnot being game specific
http://problemkaputt.de/gbatek.htm#gbacartioportgpio and not that much use here. There are no particular instances of the cart getting involved with/boosting the game console's operations itself (thus making a suitable candidate for twisting for use here), much less a general case, like some of the NES mappers, SNES special chips, GB/GBC MBCs and whatever the N64 had beyond the CIC.
There is also no OS/firmware layer always running you could fiddle with like we saw with the PSP, Wii IOS modules, 3ds and such.
*other than the GBA video stuff all but about 3 games people actually use anything like the whole space, and of those then Mother 3 is the only one to use essentially every byte. Everything else has 32 megs of space visible at all times and it is rare for more than half of that to be used. At the risk of confusion as well I might as well include the main exception other than flash carts themselves and also include the stuff done for the Shrek videos
https://mgba.io/2015/10/20/dumping-the-undumped/ which would still not help much here.
Given the nature of the GBA, I really do believe that would have been the better approach. There was only four real problems* with the EZ IV: the need to patch for saves, the requirement for a battery, the relative slow time to save if you had many games, and the general issue of corruption of the memory card when saving. The last one was (AFAIK) almost if not entirely addressed by the latest kernel. The first was something that could be addressed at the hardware level. The second one, like you said, just requires switching to FeRAM. The third one could be addressed by using
some sort of bucket sort. The fact that EZ Omega was clearly intended to be open source and was means especially the last two could have been addressed by people like me. Turning the saving into a black box really made the situation in some ways worse. :/
* One could add a fifth one, relatively slow loading of games which was worse with later kernels, but that's closer to an annoyance or argue that near instant loading is a feature. It's not a deal breaker for a game to take 10-20 seconds to load. It is when saves are corrupted regularly.
I would probably agree with most of that, though I will say I never had corruption issues with my EZ4s outside of micro-mini adapters and other contact issues, my EZ4 lite battery (almost a watch battery) dying on me, me messing around with multi save, and me hitting the power switch too early in game or when it was writing back.