Ruby 1.9+, 51 (or 58 or 60)
-
a=*$<
?a.upto(?z){|c|$><<c*a.map{|l|l.count c}.max}
Assumes everything's in lowercase. Case insensitivity costs 8 characters via `.upcase`, while case insensitivity *and lowercase output* costs 9 characters via `.downcase`.