Вы можете удалить спрайт, как вы делаете, и добавить новый спрайт, но не забудьте добавить его в слой с помощью addChild:
CCSprite *theNewSprite = [CCSprite spriteWithFile:@"newImage.png"];
[LayerYouWantToAdd addChild:theNewSprite]
Или просто измените текстуру спрайта. Это работает для меня.
[theSprite setTexture:[[CCSprite spriteWithFile:@"newImage.png"]texture]];