I recommend you to check all possible collisions at the same time, this is what I would do:
For the boomerang code:objectID = collision_rectangle(x1,y1,x2,y2,Monster_Par,precision,notme);
while(objectID > 0)
{
if(objectID.stunned == false)
{
newStar = instance_create(x,y,objectStar);
newStar.FollowObject = objectID;
objectID.stunned = true;
};
instance_deactivate_object(objectID);
objectID = collision_rectangle(x1,y1,x2,y2,Monster_Par,precision,notme);
};
instance_activate_object(Monster_Par);
This will also prevent the creation of multiple star objects, but you need to set the stunned variable in the creation code.
objectStar code:x = FollowObject.x;
y = FollowObject.y;
yeah I hate the collision event x)