My son had pneumonia when he was two. He was actually hospitalized for a couple of days because his oxygen level wasn't at the level they wanted. He got nebulizer treatments around the clock while in the hospital, as well as antibiotics. It was then that he was also diagnosed with asthma. After he was released from the hospital, we did nebulizer treatments about 4 times a day with albuterol. We also did budesonide nebulizer treatments as a maintenance asthma medicine.
I don't recall exactly how long it was until he was himself again, but it wasn't as long as some of the others have experienced. I'd say it was more like 2-3 weeks after being discharged. But the flu can really knock out a little one. My other child recently had a stomach flu and even though he only threw up for a 24 hour period and didn't have a fever, he was out of it for a week.
I can imagine the pneumonia and flu together would really do a number on him and it would take a while to recover.
As a side note regarding your son's asthma, I found the nebulizer treatments did wonders for my son's coughing. Prior to the asthma diagnosis, he would have terrible lingering coughs after every cold. Now with the budesonide maintenance medicine given regularly, the coughing is highly minimized. Getting a cold or other illness is not that big a deal anymore. If your son frequently has coughing issues when he gets sick because of his asthma, you might want to consider talking to an asthma specialist and asking if a maintenance asthma medicine might benefit your son. Maintenance medicines for asthma are not fast acting...they work best when they are taken on a regular basis before getting hit by an asthma trigger. My son's asthma is mostly triggered by illness so we do maintenance medicine during flu season and go off of it in the summer...unless we see signs of him getting a cold or flu. Aside from some difficulties of getting him to do the treatments due to normal toddler rebellion, it's made a big difference in our household.