I'm not sure i think the problem can be the switching from type 4 to Type 3 fro ennemie.

Why not trying instead :

if(bomb hit green enemy == TYPE 4)
- remove bomb
- remove ennemie, and create at the same position an ennemi
of type 3
It could fix the thing no ?

A hint, instead of creating , erasing ennemies, it can cost more CPU than needed sometimes : what you can do to optimise if needed :
- create 10 ennemies type 3 and 4 at beginning of the game
put them a a position they are not displayed , for example :
ennemi.Y = -5000
When you need an ennemie take one from the 10 available and move it where it needs to be on screen. Juts put a flag to "ON" to say it is used and it is not on the pool !
When the used ennemi is destroyed , just put ennemi.y = -500 and is flag to "OFF" to tell it can be used again !


Well don't sure you understant that laugh it was my 5 minutes coding spirit !

Keep it up !