This was a known issue in the original game and persists in BGII:EE.
LastSummonerOf(Myself) is not stored whenever the game is saved and reloaded. To test this, download and unzip the attached files into the override folder and cast Monster Summoning III until you summon an Ettercap. The Ettercap should then follow the summoner around if it gets too far. Saving the game and then reloading will break this behavior because LastSummonerOf(Myself) is not stored in the saved game.
LastSummonerOf(Myself) should be properly stored in a saved game.
My suggestion is to use a similar stat scheme as image projection (stat 138 PUPPETMASTERID on the caster and stat 141 PUPPETID on the duplicate from stats.ids). Each time a .cre is summoned, a stat called SUMMONERID is set on the caster, which is identical to the value of a stat SUMMONEDID set on the .cre. The values themselves are automatically set ingame so each summoner has a unique id, and then unset whenever all summoned .cres of a particular summoner are unsummoned. Both stats (SUMMONERID and SUMMONEDID) would be carried as an external .eff file on the .cre so it would be possible to store them in saved games.
Because using new stat id slots for would break detectable spells and mod compatibility, I suggest using the unused hardcoded stats (143 BERSERKSTAGE1 and 144 BERSERKSTAGE2) as replacements.