I have started looking into this once again, and maybe it will not be much of an issue after all. I am in fact not sure why I thought it would be previously - maybe I simply didn't look closely enough into it. I think it was related to handling of undo logic, but then again there is normally no undo possibility for script-created entities anyway, so who knows...
As a quick hack, just pulling out the existing event handler to be applied against script_raised_built seems to work fine, with small caveat that I need to figure out what player invoked the action (since auto-approval setting is per-player). With P.U.M.P. it looks to be a non-issue - I seem to be able to rely on the last_user property of an entity.
But I'll need to figure out what kind of logic to use for picking the player for ghost entities where last_user is not set. Maybe the safest bet there would be to simply auto-approve.