Well random(1,12) is going to pick the same number sometimes, so you want it to spawn only once per imagepoint? My approach for this would always be to use an array with all relevant values pushed onto X then pick something from 0 to array.width. You then delete that X from the array so it can't be picked again.
This could also work if something was destroyed on an imagepoint, you could add the number back into the array so it's selectable again if your game requires this.
Also watch out with random(1,12) as that picks decimals so you probably want to use floor(random to get a whole number.