Arduino will not power on with external power supply
I would guess you might have had a failure on one of power supply components. Here's the schematic for your board:
http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf

Here are a few thoughts:


What is the actual voltage on your 5V battery? If it's not fully charged, it may not have enough voltage to keep everything running.
Check the voltage across fuse F1 as you plug in the battery... Perhaps the battery is allowing for a higher inrush current than the USB bus, causing this fuse to open? This doesn't seem likely as there's not that much capacitance on the board, but is easy to check.
It's possible it's not a power supply problem at all... can you clarify what you mean by "it doesn't work"? Does the board appear to power? It could be that you're not properly grounding your serial connection to whatever you're communicating with, and having it plugged into your computer via USB is providing an alternate path for the serial ground and causing serial communications to work. Without more knowledge of what you're communicating with and how it's connected, however, this is nothing more than a wild-ass guess.