Just had a thought that might work and would take much less events.
I have some planets that orbit a star. I wanted them to have a random starting position at the start of every game so i made a global variable which is set at the start of the layout to random(360). The planets take their stating position from the global variable. If you would create a radius outside the layout size they would spawn at a random location outside of the layout size. Of course an enemy that spawns at 45 degrees would enter the layout sooner then an enemy that spawns at 90 degrees but as long that doesn't matter it should work.
global variables
radius = number bigger then the layout
randomspawn = random(360) you can set this at on every tick
spawn X and Y
sun.X+cos(randomspawn)*radius
sun.y+sin(randomspawn)*radius
Edit: Sun is obviously the center of the layout <img src="smileys/smiley2.gif" border="0" align="middle" />
Example
dl.dropbox.com/u/139739932/test/randomspawn.capx