1.You have two options:
A.You can try embedded collision (best option for me) look it up here in the forums.
B. Make a loop to create all the enemies at the start of the frame and make sure you set an unique ID for each
>Start of Frame
-start loop "create_enemies" as many time as you want
>on loop "create_enemies"
-Create Enemy or Create enemy by name (something like Create "enemy_"+random(5) if you have enemies like enemy_1 , enemy_2 and so on)
-Set value A or ID whatever you have it called and set it to the index value of loop "create_enemies".
-Create the Sensor you have for collision
-Set Value A or ID of the sensor to loop index as well.
Now to make sure the sensor stays with its partner do this
>If ID of Sensor = ID of enemy
-Set Enemy position to Sensor or the other way around whatever you want and need.
2.
A. if you want to create more enemies you have to the same but a little bit different
>on loop "respawn_enemies"
-Create enemy
-set ID to SAVEDINDEX_VALUE ( for this when you start the level save the amount of enemies to this value and add 1 every time you create a new enemy)
-Create sensor
-Set ID to ID of Enemy
-Add 1 to SAVEDINDEX_VALUE
With this you can create as many enemies as you want
B. For this you just have to save and control the amount of enemies you have in frame and also create a timer and when you kill all enemies or there are only 3 for example and you want 10 just run the loops for the amount desired
Make sure you set the position of enemies inside the loop!! to a random position or a set one