I'm not convinced that its your water pump. If it wasn't circulating any water, you'd just have steam instead of coolant. It doesn't circulate much at idle, and a hot top hose and a cool lower hose seems to say that its working properly and that it IS circulating some coolant.
A good way to test that flow is present is to squeese the hose with your hand and rev the engine after its been running for a while. When you rev the engine you should feel a rush of fluid.