My son is five and has 2 crowns. So we've had some issues - but not as bad as this! Do you let him brush his own teeth? Because maybe he isn't doing a good enough job and you should go in there and really get it done right.
Also, brush in the morning (after breakfast) and do a fluoride rinse every night before bed. We tried to do this - slacked on the morning brushing, of course - but we have kept up with the nightly fluoride rinse and since then, NO cavities! My kids love the Listerine SmartRinse because it dyes the food particles and you can see them in the sink after you spit. It's disgusting, but it shows them how effective the rinse is and they get a kick out of it.
You might also want to ask the dentist about fluoride supplements. Second opinions are never a bad idea either. When I was first told my kid needed crowns, I couldn't believe it. I took him to two other dentists before we acted. We ended up with Dr. Micheal Berry in Parkville. He has super high-tech equipment and a very nice office. Great staff. They only do kids and they are very good at it!