This is just my opinion...
Because you have live and dead fish in the tank giving a continuous ammonia source your cycle is not going to look "normal" and will be difficult to judge exactly where in the cycle you are.
Typically you cannot have nitrate without there having been nitrite that was converted to nitrate. The fact that you have nitrate in my opinion shows that you have some bacteria required to convert nitrite to nitrate. I also would say that normally this would mean that you have cycled. However it would also be my opinion that with a constant ammonia source in your tank that your tank does not have enough of the required bacteria yet to deal with the load your fish (alive or otherwise) are putting on that biological filter at this time. If it did you would also be showing no ammonia even with the fish in the tank.
It would be my opinion that you may have had a small cycle but your biological filter cant keep up. Still not the best situation for your fish that have to breathe that ammonia. It will be especially difficult for your biological filter to keep up on a three week old tank that has dead fish in it that you state above you have not removed.
Nick