Perhaps there is an allergen in his bedding?
I suggest this because, while our kid doesn't have this problem, we noticed something with our cats. When we first got Sally, she was having asthmatic reactions to something, we didn't know what. What I have noticed over the last two years (and it only clicked this summer) is that she didn't have problems in the summer, just in cool months.
My guess is that it's the feather down duvet we were using. We take it off the bed in summer. No reactions, no waking up at 3 a.m. to her wheezing. We are replacing it with a hypoallergenic duvet this time around. :) So, check for feathers in his bedding, as well as doing a deep cleaning. Also check UNDER the bed, box spring, etc, in case there's something amiss down there. Of course, it could be humidity/lack thereof, but it's good to check the bedding nonetheless.