Let's try to answer these questions:
Can I just use his American passport to fly?
Yes, he can. All the airline or US customs will care about is that he has a passport that lets him enter the US.
It's not clear what you mean by "Will customs charge me for him staying here 2 years?", so let's answer two possible questions that you might mean.
Will Mexican border control think he has overstayed in Mexico illegally and charge him (or you) with immigration offences?
The key thing here is to make sure he has his birth certificate and CRBA, or better still other proof of Mexican citizenship. If he has an expired Mexican passport he should carry that too. Since he is a Mexican citizen then he has been in Mexico legally all the time, and as long as you can convince border control of that he should have no problem. I would expect that either the birth certificate or an expired passport should work, but it's not possible to be certain how strict an agent will be. I'm not clear about under what circumstances someone might be born in Mexico but not a Mexican citizen, but if it's possible then you should carry as much evidence as you can to back up the claim to be Mexican - perhaps your own birth certificate and Mexican passport and for your son's father. In any case, border control agents hardly ever detain someone leaving their country even if they think they have stayed illegally. Make sure you arrive at the airport and pass through exit controls very early, in case the process takes a long time.
Will Mexican border control charge him $60 because he does not have a FMM Visitor's Permit?
The answer to this is the same. If you can convince border control that he is a Mexican citizen then he does not need a visitors permit and will not be charged $60 for not having one. It might be wise to have the means to pay $60 in the unlikely event that they are not convinced of his Mexican citizenship but are prepared to let him exit if he pays for the FMM.