Yes, ID have to be unique. ID allows you to target actions on an specific object. For example, to move an object, you can type (in script) setPos 3 0 0 0 to place the object with ID 3 at the position (x,y,z)=(0,0,0).
However, there is a mistake in our scripts examples that will be fixed for next release. We don’t want to prepend ID with “100” or “200” but we want to make ID range (0->1000 for cursors, 1000->2000 for curves, 2000+ for triggers).