Is a known bug: http://www.cocos2d-iphone.org/forum/topic/208630?replies=6#post-376569
to fix (or to patch :), modify CCParticleSystemQuad.m. In postSetp method comment Option 1 and uncomment Option 3.
This worked for me and for DropDKeith (user forum cocos2d)
-(void) postStep
{
glBindBuffer(GL_ARRAY_BUFFER, _buffersVBO[0] );
// Option 1: Sub Data
// glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(_quads[0])*_particleCount, _quads);
// Option 2: Data
// glBufferData(GL_ARRAY_BUFFER, sizeof(_quads[0]) * _particleCount, _quads, GL_DYNAMIC_DRAW);
// Option 3: Orphaning + glMapBuffer
glBufferData(GL_ARRAY_BUFFER, sizeof(_quads[0])*_totalParticles, nil, GL_STREAM_DRAW);
void *buf = glMapBuffer(GL_ARRAY_BUFFER, GL_WRITE_ONLY);
memcpy(buf, _quads, sizeof(_quads[0])*_particleCount);
glUnmapBuffer(GL_ARRAY_BUFFER);
glBindBuffer(GL_ARRAY_BUFFER, 0);
CHECK_GL_ERROR_DEBUG();
}