Secondly, I don't think you can teach ethics, at least not to adults. Ethics derive from values and 18-months of sitting in classes isn't going to change the values you've formed since your childhood. You can teach about the impact of making ethical decisions, but no b-school is going to turn a profit-at-all-costs banker into a altruistic humanitarian.
I'll take that one step further and say you can't teach leadership in a classroom either, or even in a 2 year MBA program. Sure, you can learn leadership theory in a classroom, and MBA programs give you opportunities to practice leadership, but nobody should expect that when you receive your fancy MBA diploma that you are an expert leader. I'm pretty sure if you ask any successful CEO they will tell you that even after a 40+ year career they're still learning about how to be a better leader.
The MBA was always a piece of paper. Like any academic degree, it only demonstrates that you've mastered a certain level of theoretical knowledge. That theoretical knowledge will be helpful in a management career, but just as important is what you learn and how you develop on the job. As refurb said, if you work in an environment where all that matters is profit and screw all else to get it, well then that's what you're going to learn and what you will likely become. Likewise, if you work in an environment that is more focused on integrity and responsibility, that's what you will learn.
I think the recent wave of criticism probably goes a bit too far though. There are certainly MBAs that have contributed to the mess we're in and are bad leaders. But people have made some pretty broad generalizations about MBAs being arrogant, greedy, unethical, bad leaders based on a pretty small sample size. The top 5 schools alone have over 250,000 alumni in total. So while I agree that MBA programs should constantly look for how they can improve and better educate their students, let's not throw the baby out with the bathwater.