I run an engineering division within my company. I have ~40 developers and a total staff of around 110. This includes biz dev guys, testers, systems engineers, production engineers (builds, installers), etc. We do mostly contracting work, with a small amount of licensed product sales.
We have standardized on a single language (C#), and it has worked for us. We have a significant base of legacy code, including C++, Java, and Visual Basic. I can tell you from personal experience that 90% of the agony we endure is related to the legacy code, specifically maintenance of said code. Keeping enough people up-to-speed with skills to work in more than one or two languages is a tough challenge. Organizationally speaking, my life would be vastly easier if we could get down to 100% of our code in a single language.
Of course, that's never going to happen, so we do try to retain the people who have experience with our legacy code base. We also try to assign new people to work on the legacy code whenever it looks like we're getting short of experience in any one area.
I'm a coder by trade and experience -- this management stuff is definitely new to me. I have always personally enjoyed learning new languages/techs/whatever as a developer...but from an architectural and business standpoint, I can definitely point to reasons to standardize on a single language or development platform. We are transitioning to a product line architecture, where deliveries are based on off-the-shelf in-house components (new development as necessary, of course). Customers *hate* it when we tell them "after you install this, you'll have .Net 1.1, Java 1.5 and VisualBasic runtimes on your machine, along with all the support libraries, etc." They would much prefer a homogeneous environment with minimal footprint.
There are also issues within a product line with mixed-platform development. Unless you work *really* hard on decoupling components at exactly the right places, mixing platforms makes it difficult or even impossible to develop a solid product line. I'm starting to think that it's actually impossible without going to a full-out service based architecture.
So don't dismiss the idea of standardizing on a single language. Just because you're a developer and you want to play with the latest cool toys, that doesn't mean there is a defensible business reason to allow that.