hmm, I think this will slow down your game a lot to create the sprites every tick.
Is your game fixed to a max of 3 lifes? If it is, I would suggest to just put 3 instances of the sprite to your game directly and give them individual names. Based on the life variable, you should then just toggle the visibility to true/false. This will speed up everything a lot.
EDIT: Damn Ninjas :)
Another solution, that would be faster:
Set up the Life Sprite as a tiles background object. Based on your life, you can then just set the width of the object to show the correct number of hearts. With this, you would only need one action that calculates the necessary width of the background by (width of heart * # of lifes).