I'd stick with Berlin.
Munich is nice, but it doesn't represent Germany in a decent way - it is too clean and orderly.
Also, Bavaria is not the only thing there is in Germany, Americans tend to forget that... Can't blame you, been to America for a year, and since I used to live in Bavaria (Lake Constance Area), they all knew what I was talking about -- or, let's say, they THOUGHT they knew what I was talking about.
Berlin does show Germany's honest side. It is GER's biggest city, the most exciting one, too. It is very international, it has tons of historic sights, and also, it actually has more beer brands than Bavaria does.
There are real cheap accomodation options, food is quite cheap, too. Let me put it that way: Munich is the most expensive city in Germany. Berlin is the cheapest one. (That's proven by statistics, I'm not making that up)
I do think that the best cities to see in Germany when your time is limited are Berlin and Hamburg, because both of them represent Germany in an honest, realistic and nice way.
By the way, I'm German
and I live in Frankfurt, which is NOT just a business city, it is the most international city in Germany and it is also just COOL. Love it
Have a great time in the Czech Republic and Germany