Check with the administration in your school/district and see if they will accept outside IQ testing in place of the CogAT. DD did horrible on the CogAT because she doesn't do well on timed tests, but her WISC score was very high and they accepted the result. They have a list of providers they will accept, though, so don't spend money on outside testing until you know if they have rules about this.
You could also check and see if the school will give him a different ability test or IQ test (so you don't have to pay for it privately). There might be an appeals process if a parent objects to their kid not getting into a gifted program.