It's possible that the NoPoX fueled a bacteria bloom (that's what made the water look milky) which consumed all the oxygen in the water. A protein skimmer skims out the bacteria and oxygenates the water. You can use NoPoX without a skimmer, but you have to go very slow (very small doses at first) to avoid this problem. Even with a skimmer I would suggest slow-going at first, because a large bacteria bloom can cause a skimmer to quickly overflow.
I'm very sorry for the loss of livestock, and I'm feeling your pain this morning. I just had the same thing happen in my tank yesterday morning--bacteria bloom followed by loss of fish. The only difference was that my bloom was caused by a chemical residue left on the inside of a 2.5 foot length of new vinyl tubing that I installed Saturday evening. I woke up Sunday morning to cloudy water and a tank full of dead fish. I've never had that problem before with vinyl tubing from any vendor, but from now on I will run a 50/50 mix of water/vinegar for at least 24 hours through every vinyl tube I buy before using it on a tank.