Warning, long story ahead. Sorry in advance. Feel free to skim through if you wish. But this story may help you to better determine why I keep having problems with my tank and fish.
A little backstory. About half a year ago I upgraded from a 10 gallon tank to a 20 gallon long. At the time I had 5 GloFish, 6 neon tetras, and 2 zebra danios. The tank had been established for half a year. A so called "fish expert" that I had been taking to about the cycling problems I have been having with my fish tank (turns out I had the wrong filter and was only doing water changes once a month) helped me do the upgrade and said he knew how to do it without stressing and killing my fish and starting my cycle over. He used half tap water and half of my old tank water to fill up the 20 gallon. While he was draining the 10 gallon tank, the zebra danios were dying. They were healthy as far as I know before the upgrade.
While the tank is being filled up, he put the fish in a bucket with old tank water and the air stone and and in another bucket sat the filter media in partially old tank water and tap water. When the new tank was filled up, he soaked the filter media in the tank and put the fish back in. After the media soaked for a little bit, it was put back in the filter. Over the course of a month and a half after the upgrade, all of my fish died. I'm thinking it was due to the stress of the upgrade.
I bought 5 more GloFish and 2 platys-all from PetSmart-after awhile of letting my tank settle and the GloFish only lasted a few weeks to a month, while the platys surprisingly lived. I again, bought more 5 GloFish,this time from Walmart. Big mistake, I know. They got ick, which I tried to treat, but was unsuccessful and they all died within 2 weeks. However, surprisingly, the platys didn't catch the ick and lived. About 2 months ago, I bought 5 cardinal tetras from my LFS, NOT PetSmart, Petco, or Walmart.
Fast forward to a few days ago. My 20 gallon tank has been established for about a year now and I am still getting ammonia readings. I do weekly 50% water changes and I am currently using API Tap Water Conditioner. I currently still have the 2 platys and 4 cardinal tetras (I had 5 but one died). I have an AquaClear 50 filter and an air stone. For the past few days, my platys have been swimming at the surface and yesterday I noticed what looked like blood in their poop. Then this morning I found one of my cardinal tetras sucked up on the filter intake tube, dead. The cardinals have been hanging around the filter, but they've been doing that ever since I increased the flow rate on my air stone (the air stone is in an area of the tank where they used to hang out at). Anyway, what can be going on with my tank? Why can't I keep fish alive?