Playing in the NAHL is a privilege. There are thousands of kids all over the world that tryout every year and get cut, and your son is already on a roster, has 3 years of elibility, seems liked, and is considering leaving so someone else can replace him?
One or two players get injured and its a totally different season. I'd stay, tell him to outwork everyone in practice, and see what happens. Like someone said, at least until the holidays.
Seems to me that, if the organization truly thinks your kid is an asset, they will start playing him soon. A Tier 2 team does not develop an asset by making him a practice player, only, so if they keep him in that role they don't consider him an asset. And, your son isn't developing only by practicing.
So, if they don't put him in games soon, like by Thanksgiving, bolt. They are keeping him around only as an insurance policy in case a roster player gets hurt. And, if that is all they think of him, do you really think that will suddenly change next year? Again, he is only an insurance policy in case they can't find anyone better.
Waiting your turn might be fine if you are at a good NCAA school. You are getting an education and being groomed for your junior and senior year. It is not okay if your kid is postponing his education with the hope of getting to the NCAA. These Tier 2 teams couldn't care less about your kid, and the treatment you describe proves that.
Bring him home so another parent can post on here about how a tier 2 kid came home and forced their kid out of a spot