Ok, solution found.
To return to the original state there is another action: CCStopGrid
Calling this function also solved the the frame rate problem, so evidently the grid action is still in memory even when the action stops.
CCWaves waves = CCWaves::create(10, CCSizeMake(10,10), 4, 20, true, true);
CCStopGrid stopWaves = CCStopGrid::create();
CCSequence *seq = CCSequence::create(waves,stopWaves,NULL);