I think I found a critical bug in the SDK. If you add
var iid = this.GetInstance().GetIID();
to the runtime instance constructor(inst, properties)
It will cause the first and last instance of the object to have the same IID, verified using Debug Layout.
This only seems to happen at start of layout where multiple instances are on already on the layout, or they are created at the start from existing container siblings. It might take place in other circumstances, but it didn't when I did a simple test of creating instances by clicking the mouse after start of layout.
Here's an example project. The bundled addon is just the sdk drawingPlugin example with that one line added to constructor.
EDIT: Also, I was able to partially 'fix' the issue by calling _objectType._SetIIDsStale(), but any container siblings for that instance are still set to the old siblings from the previously duplicated IID.