I disagree. Having worked in everything from multinational companies to 3 man start-up companies I think I've seen quite a bit of the dev world.
I think a well balanced team usually consists of older and younger developers myself.
What you want to avoid as a manager is encouraging cliques and age-based group stratums. Socially people will naturally tend to separate by age somewhat, but by spreading your experienced devs in with the less experienced you create new niches and groups that center around productive aspects such as projects, platforms, and responsibilities.
A few tricks I've used is allow developers to volunteer for project milestones. This gives you good cross-communication setup between project and age groups and allows devs to find their fit if you structure your projects right.
Another trick is to encourage creativity and social rewards. Having code meetings where the entire crowd gets to work through some code together. Each meeting, a different person or team brings part of their project to present and explain their design choices and algorithms for the rest of the team. The team gets to learn a bit, and also can positively (or occasionally negatively) critique the code and look for problems. This can work across projects and departments as well.
You need to encourage social activities across groups as well, but be careful not to cut into outside time too much. Older devs generally have lives outside of work. So limit your after-work socializing and instead encourage innovative activities with 15 minute coffee breaks together or an after-meeting walk.
If you're having problems motivating older developers then it's quite likely that you're not building, managing and deploying your experience properly. You need to do more than toss them in a cube with a set of project milestones. Younger people will do better in that environment if only because they will have more time to sacrifice.
Older people have already done their "lone wolf" time, and generally expect better management and organization. They expect resources to get the job done efficiently and want to be learning and mentoring, not just chugging out LOC. Most of them won't complain as devs tend to be introverts for the most part. If you want productive feedback then you need to empower groups with responsibilities beyond milestones. They need to have time to evaluate and analyze. They need to have time to go over designs and understand, give input, and have their input rewarded.
The secret is to create balanced work environments that allow your workers to be both productive and growing. Having static organizational structures that boxes devs into platforms and languages for years creates experience lags and power bubbles. Having work/slave relationships creates revolving doors. Having loose organizations creates deadline creep and project failure.
In the end, there are plenty of organizations successfully employing developers into retirement age. What you want is an organization that manages goals and expectations by delegating work to teams that are organized with mixed experience and socially rewarded for meeting deadlines. Management should be open to criticism and giving out criticism when necessary. Teams should as well.
Lastly, realize that most developers aren't strictly motivated by dollars. Most people are far more motivated to work towards a goal when the reward is linked with their goals and creativity. Developers need to have the room to try things and fail at them, refine and build on those experiences. If you build that into your development process then you will reduce product and project failures enormously.
Anyway, just my ramblings...