if I insert a new object it will just mess it up as the object's ID will have changed..
Unique IDs never change - once the runtime has started. There is no guarantee any particular object will ever get any particular unique ID, so you shouldn't refer to pre-set unique IDs in events.
If you need to index objects from 1, just use:
+ For Each Sprite
-> Sprite: set value to LoopIndex