DFUnity 0.10.13, QuestPack #1 and Warm Ashes (current to this date) (if they matter, which I doubt, but trying to be complete)
I don't have much experience with Daggerfall Classic, and I will freely admit to wanton console cheating to get the Oghma Infinium from the Daedra Lord who had it, but I was surprised at what seems to be a bug (sorry if this is well known from Classic):
If you USE the Infinium directly from the ground, you get the level and the 30 points to your attributes, but the Infinium remains in the loot pile on the ground. You can do this as many times as you want.
Once you've boosted all your stats to 100, you can even pick up the Infinium and take it to a rusty relics shop and sell it for a significant pile of gold.
Once it has been used and you have picked it up, if you drop it does disappear, so that part is right.
I'm guessing that the script for use is "removing it from player inventory" instead of "removing it from game world".
My monk is now very impressive, for having just left Privateer's Hold
You are quite correct that the code assumed the player is holding the item. Currently the callback method is not being given the item collection so cannot check and prevent use unless held or remove from the actual collection. Either that needs to be added to the IEntityEffect.EnchantmentPayloadCallback method signature, or alternatively DFU could disable using any magic items that are not being carried by the player.