CYA can be higher than 20-40 without any problems. I'd say it only become a problem when you start going over 100. It's true that you can't get rid of it without partially draining your pool, though.
Your CYA should be ~40ppm, so once you figure out what it is, adjust it as necessary, partially draining and refilling the pool to lower it, or adding CYA to increase it. (I haven't used a taylor test kit in probably 10 years :S Are you sure it's really 300 ppm? If so, I'd pretty much drain the entire pool... lol.) CYA keeps the chlorine from evaporating off and is very important, but having too much CYA makes the chlorine ineffective. Once you get your pool to ~40 ppm CYA, add bleach at night (to help prevent evaporation) with the pump running.
If you find that you are still unable to hold FC even with a good amount of CYA, then you have "chlorine lock," which is a situation where, when you add chlorine, it combines with something (typically ammonia or urea, created typically by not maintaining proper chemistry, at which point your chlorine evaporates, followed by microorganisms eating your CYA, turning it into ammonia and urea) very quickly. Some people out there kick and scream when they hear the words "chlorine lock," even though they do not question that there are situations in which free chlorine will be gobbled up very quickly. They hate the term because they hate the pool chemical industry / pool maintenance companies, but pretty much everyone agrees on the solution, and it's very simple: you need to add a large amount of chlorine into your pool, whether it be chlorine shock (that does not contain CYA) or liquid chlorine bleach. When you have chlorine lock (i.e. an ammonia/urea problem,) adding a half-gallon of bleach is like attacking a ten-acre fire with a garden hose. It's the right idea, but not on the correct scale.
Here's how to fix the problem:
- Dilute a small amount of your 10% chlorine bleach -- three parts water, one part bleach. For example, 1 fl oz bleach, 3 fl oz water.
- Get three one-gallon buckets and put one teaspoon of the diluted mixture into the first bucket, two teaspoons into the second bucket, and three teaspoons into the third bucket.
- Add a gallon of pool water to each bucket, stir gently, and put the buckets in the shade for 4 hours.
- Test the chlorine levels of the buckets after 4 hours. Whichever one has 2-3 ppm of chlorine left, is the one you want to do your math on. If none of them have 2-3 ppm left, add 3 teaspoons to each bucket, stir gently, put the buckets in the shade for 4 hours, and test again -- repeat the process until you reach 2-3 ppm.
- Take however many teaspoons you added into the bucket that read 2-3 ppm, and multiply that number (1, 2, 3, etc.) by 4.5 (math below), giving you how many gallons you should add into your pool to fix the problem. Add the bleach at night, with the pool pump running.
1 diluted tsp / 1 gal pool water = 15,500 diluted tsp / 15,500 gal pool water
15,500 diluted tsp / 768 tsp/gal = 20 diluted gal
20 diluted gal = 5 full-strength gal
Use 4.5 instead of 5 to be on the safe side. This likely won't be quite enough, so if you find that your pool is still unable to hold any FC, add 1/4th of a gallon of bleach each night until it starts holding some FC.