Viruses can take a lot longer than we'd like to run their courses, most often around 3 weeks. With a weakened immune system he very well could have just picked something else up. If there was a bacterial infection he'd be running a fever again so please do not run out and put him on more antibiotics, he'll just build a resistance. And if he is just now starting to hang around a bunch of other kids, you'll likely be combating this for awhile on and off.
My suggestions, first, steer clear of dairy as it increases mucus production. Try to get him to drink plenty of clear fluids, even sports drinks- though they do have more sugar than you'd really like, they also have an abundance of electrolytes which will help your son feel better.
I'm not big on OTC cold meds myself; they make me jittery, even dayquill, and sick feeling, so I use a lot of herbals that work really well for me, I knocked my last cold out in a week flat. Vitamin C chewables (for him a Flinstone would be great!) Airborne (which is safe for kids his age, a half a tablet, has Echinachea which is the kung fu master of herbals), and cranberry and oj mixed together.
A couple times a day I drink orange juice and cranberry juice mixed together, and at night I take some Airborne with a handful of vitmins; chewable C, vitmin E, and I take an extra echinachea and golden seal root complex. I do the same for my 6 year old (minus the complex vitamins, he is 6 and a bit small for yet, he can't swallow the capsules, use Airborne instead). I also make sure he takes vitamins at breakfast every morning, sick or not, as a preventative. Plus he is a picky eater.
In short, get some Airborne and daily kids vitamins and start pouring cranberry orange juice cocktails down him a couple times a day. And keep him on the vitamins to help build his immune system up. Other than that, you have to ride out all the illnesses until his immune system builds up more.