I don't see any problems, but I'm not certain I follow what the problem is. My best guess is that you want the projectile at the touch, not at 0,0. In that case you need to change nextProjectile.position = ccp(0,0); to something like
UITouch *thisTouch = [touches anyObject];
nextProjectile.position = [thisTouch locationInView:[thisTouch view]];
Please put your code in backticks (`) to make it more readable. This isn't the first time you've been asked to do so.
You also have some other issues with your code, such as the retain calls for nextProjectile 1 and 2. If update is called more than once, you'll no longer have a pointer to the projectiles you created the first time, but they'll still have a retain count of 1, so they'll be leaked.