Ok, I did some more digging through related posts and it looks like this is by design. Destroy flags the sprite to be destroyed at the end of the event sheet per Ashley:
This is sort of by design... "Destroy" means "flag to be destroyed at the end of the event sheet". This is because people commonly write events like
Destroy Sprite
Create explosion at Sprite.X, Sprite.Y
If the Sprite was really destroyed, the explosion would have nowhere to be created because the Sprite doesn't have an X or Y co-ordinate any more. I could fix the two cases you've shown, but the object would still actually exist until the end of the event sheet, which might just make for some more confusing cases.
So I guess this means if one is loading an InstanceBank, the layout should not have any pre created objects of the saved type in it prior to the loadAllInstances call, otherwise, duplication occurs.
There I go, answering my own questions... lol
Thanks!