Are you guys talking about fruit flies? I have never heard of gnats in the house. If they are fruit flies, of course make sure there are no fruit or vegetables laying out on the counter, or even left in the garbage can. And if you find some flying around after you've gotten rid of the fruit, the apple cider trick does work. I take a bowl, pour some vinegar in and cover it with plastic wrap. Then I poke some holes in the plastic wrap with a fork, making sure the holes are big enough for them to crawl in. The vinegar smells like rotting fruit, so they climb in and then drown. That should work.
As for the dishcloths, I think it's kind of unsanitary to reuse dishcloths more than a day, especially if they've been used to clean up a table or a counter. I think the "old smell" that you describe is from bacteria, which is then being wiped all over your "clean" dishes and counter. Yucky. I buy enough so that I can use a new one each day. Target always has those stacks of about 10 washcloths for about $3.99. At the end of the day, I just toss the used one in a basket in the laundry room and wash them with my towels each week. I do the same for hand towels, too - I don't trust that my husband's hands are actually clean when he dries them!