I'm not completely sure this is a bug directly related to cocos2d or my code, but I figured I'd bring this up since it seemed like a pretty common thing to do.
Steps to reproduce
1. make 100 AtlasSprites using a set texture rectangle and put them into an array
2. pull atlas sprite from array and set a new texture rectange (same size, basically just a different color of sprite from step 1)
3. add atlas sprite to AtlasSpriteManager and move with action
4. steps 2 and 3 can repeat any number of times assuming you haven't used all 100 sprites
5. something happens in game play and need to remove the sprite from AtlasSpriteManager
6. push removed sprite back into the array from step 1
7. steps 6 and 7 can repeat any number of times as long as there are sprites in the AtlasSpriteManager
Also through gameplay sprites will start and stop based on interaction from the user. During this cycle a stopped sprite would "randomly" disappear from the screen entirely and would only reappear when the user caused the sprites to move again.
I believe it has something to do with Issue 283.
http://code.google.com/p/cocos2d-iphone/issues/detail?id=283
After some digging and getting to know how AtlasSprites work (it isn't magic as I first thought) I realized that the atlasIndex for each sprite wasn't being reset after I removed it from the manager. To remedy this I just reset the atlasIndex of each sprite to the kIndexNotInitialized default as I removed it from the manager and my problem was fixed.
Now my question is if anyone can repeat these steps and get the same result. I'm on v0.8.1 and I'm certain that this wasn't some memory error or something like that. I'd just like confirmation that this truly is a bug and not something caused by my own stupidity before I make a bug/issue ticket.
Thanks