As part of my project to convert the spawned NPCs into real ones with schedules, I have come across a few bugs as detailed here: http://exult.sourceforge.net/forum/read.php?f=1&i=1717675&t=1717675
The bugs listed in this report are all on NPCs added via ES, not the prior usecode-only method. I am using the latest built 2016-08-09 for all tools, including UCC.exe.
1) New NPCs do not lose their spell shapes. Shal and Elissa, when slain, still have the items in their backpack and bag, respectively. They should disappear the way Vasculio's do. They are now in their locations from the start, so simply start a new game and teleport to them.
For this issue, I am not sure a new function for (event == DEATH) could be used to remove the items from the dying person, or if there is some other code involved that's not part of usecode.
2) Not all NPC flags and settings are saved/consistent between ES and what happens in the game. From my testing, it appears that the Ident number, SI_Tournament flag (29) and even the companions MET flag are not set/used from the start, but are somehow set after the opening sequence with Iolo's speech. So this might just need to be noted somewhere, and the function in usecode identified.
As an example, after Iolo's opening speech, if you check 293 you'll see DBeyer has the SI_Tournament flag set, but not immediately before that or in ES. Or Johnson, 285, only gets his Ident number when you are near him.
For the spell shape issue, I added usecode that fixes this to SIfixes. It will be included in my next merge request.