Hi! Let's see, your son is a Guppy so that makes him over six and he has passed Polliwog so he has gained some proficiency. Getting better at anything takes time, just doing it for a few weeks in the summer and then not again for another ten months makes it hard to maintain anything learned - making progressing even harder.
Yes, taking a level multiple times is very common. They don't all get stuck at the same level but they do get stuck.
He would do better if he had some consistency. Every child progresses at his own rate in the pool and absolutely should not be compared to any other. The idea is to gain proficiency not learn it all at once. They work until it clicks for them, each at their own rate.
Remember the instructor has to work keeping in mind each child's ability and personality. if you have concerns talk to him or her. If you discover you don't care for the instructor switch classes, the aquatics director will work with you. Make use of your resources.
BTW, he shouldn't be huffing as he swims so that is a good thing.
Swimming is something he can carry his whole life and something that can opens doors his whole life, give it a chance--- it is supposed to be fun.
I could go on but I won't. I proudly admit to being our swim team's mom, with a son who is a swim coach and instructor, a daughter who is a swimmer, and a husband who is a meet official. I've seen and spoken to many, many like you over the 17+ years I've sat by the pool...