The answer is yes.See the method -(void) update: (ccTime) dt
in CCParticleSystem.m
if( particleCount == 0 && autoRemoveOnFinish_ ) {
[self unscheduleUpdate];
[parent_ removeChild:self cleanup:YES];
return;
}
Try to set a breakpoint here to check,this will be called after no particles left.