Is the cloud object in a container with the enemy? If not then the cloud shouldn't be destroyed with the enemy, and there must be something else in your code that is destroying or moving it (check the debug to confirm that cloud is actually being destroyed).
If the cloud is in a container with the enemy then it will be destroyed with the cloud, because that's the way that containers work. Off the top of my head here are a couple of workarounds:
1) Rather than destroying the enemy immediately, set it to invisible and start the cloud fading; when the cloud has faded out then destroy the enemy. You will need to disable the collisions and/or use an instance boolean to differentiate the "kind of dead" enemy from living enemies so that it doesn't continue to respond to enemy events.
2) Before destroying the enemy spawn a new "fadeCloud" object in the same position as the cloud object - this just has the fade behaviour on it and destroys at the end of the fade.