The reason why the Flood survived the initial activation of the Halo Array is two-fold. One is, as mentioned, samples of the Flood were kept on the Halos for research purposes. The Halos were always meant to be a last-resort taking-you-with-me weapon. Even up until the activation of the Array, the Forerunners were intent on finding a less catastrophic way of defeating the Flood.
Secondly, the Array was never meant to kill the Flood. Simply put, it can't. The smallest parts of the Flood are the Flood supercells and spores. While the Array may be able to destroy the supercells since they are essentially monstrous neural cells, the spores would most likely survive. Basically, the Forerunners couldn't come up with a way to kill the Flood entirely so they settled on killing their food supply to starve the Flood into hibernation until a day where either Forerunner survivors or some future race found a way to definitively destroy the Flood.