I don't think you need that 'return' bit. OnAsteroidRevealed(id,owner) is always automatically called every time an asteroid is discovered, no matter how many times it's been called before.
I'm not sure whether that will work, but try it out. There doesn't seem to be anything else wrong with your code on it's own. If it doesn't work, then it's probably a piece of code elsewhere that's the problem (for instance, if you have 3 asteroids, and, like here, you want to add seedlings to asteroid 3, then in fact you should put GetAsteroid(2), because asteroid numbers start at 0, not 1, and go up from there).