Yes, this might result in other potential issues as there could be a ton of other data. For example currently you can uninstall a mod and then later reinstall it… as long as the data it left behind is specific to that mod only it’ll resume working just fine 
If however you remove the modcontroller, the new one will get a new ID and any variables saved on it would be lost, which might corrupt the save to some degree.
The other issue is that of the missing links mentioned above. if a mod saves variables on an actual basegame actor, there is no way to identify which mod did that
as the owner ID will be the basegame actor… So you can’t even go and check if the mod actually has relevant data in the DB other than just the modcontroller actor.
Here’s an example of my new hearthstone mod saving the time you used it at on the player actor itself…

As you can see ID 46 is my player… and that’s all we know lol
Perhaps another approach is adding multiple levels to this…
It would be way more work though… You could have users maintain a list of mods known to be essential and break your save if removed… the list of such mods would be very short and it’s typically the big total conversion / character progression altering ones.
Then you could present people with the option of only warning in case of those mods missing.
Another thing you could do is for building / placeable mods. To check whether the DB has actors from them spawned beyond the modcontroller, since that’s something you CAN check 

Same goes for building pieces from building mods (this is probably a crucial one as loading in without the mod would mess up their buildings potentially causing them to collapse)
But that is pretty much all the options you have
maybe based on these you can have a more comprehensive selection of warnings, but it seems like a lot of work for not much benefit.
(Personally I’d be fine with an all or nothing toggle as well, since I’m perfectly fine not having warnings as I constantly shuffle around databases manually anyway and if it breaks I’ll fix it
but ofc that doesn’t apply to the majority of the userbase)