I'm not sure about the "should have" part here. That money was earned in another country. It has already had tax paid on it, in another country.
It's silly for the US to try to double-tax companies, it just puts US-based companies at a competitive disadvantage against local companies when competing for foreign business. For instance, suppose US Sprocket International sells a million sprockets at a $10 profit each, in Germany. Meanwhile, Deutsche Sprocket Gmbh is also selling a million sprockets at $10 profit each in Germany. Both US Sprocket and Deutsche Sprocket have to pay, say, $3 million in taxes to the German government for doing business in their country, and that's fine. But while Deutsche Sprocket is done with their tax obligations, US Sprocket then goes and finds that the US Government also wants a cut out of their profit. This makes doing business in Germany significantly less worthwhile for US-based companies.
Besides, let's not forget that company profits are already double taxed anyway. Tax is paid when the company makes a profit, and then again when by the shareholders when they receive their dividends. So we're really talking triple taxation here.