My BMW E-46, 3.23i temperature is always going to the red zone. My water pump is fine, the thermostat is okies, but the hose on top is hot and swollen. The lower hose, however, is cold and fine. I have bled it but it still goes into the red temp zone.
If the top hose is hot and swollen, while you can touch and hold the bottom hose (you said it was cool), I'd suggest your radiator is clogged ... quite severely in fact.
The normal flow of coolant is from the top to the bottom of the radiator in most cars. If the top radiator hose is bloated and hot, it's getting some amount of fluid through it, but not enough. Since the bottom hose is much cooler to the touch, if you can grab and hold it, there isn't enough fluid flow through the radiator. Remember, the engine will heat up to operating temperature, which should be in the arena of 180-190°F, which means the coolant coming out of the bottom radiator hose is going to be hotter than what you'd be able to stand for any period of time. While it's not going to be the same temp as the coolant inside of the engine, it's still going to be rather hot, even just exiting the radiator.
I'd consider getting the radiator flushed and see if that helps. If it doesn't, you may be looking at replacing the radiator. You'll definitely want to replace the upper (and possibly the lower) radiator hose. You lose cooling efficiency when it starts to bulge as you are suggesting.
As suggested by Paulster, flushing your radiator is your first step. My personal preference is, if the radiator needs a flush that bad (not just a change of fluid), the entire cooling system probably needs it. So:
- When the engine is cold, remove your radiator cap. Find your radiator drain plug, place a large container underneath and open it. It's under the radiator, usually in one corner.
- Drain your coolant tank as well. Usually, disconnect the rubber hose going to the radiator from it, remove the tank and turn it upside down.
- Find the coolant breather valve(s) and remove them, then find your engine block drain valve, place a large container under it and open it. It's usually above the oil pan but below your spark plugs.
- Set your heater to "hot" (don't need to start it), then find your heater core drain valve, place a large container underneat and open it. If you don't have a drain valve for the heater core, find the 2 rubber hoses going through the firewall, place a large container under them and disconnect them.
- Reconnect all the hoses, close all drain valves (but not breather valves). Fill the radiator with what you've chosen to clean your system with. Water is cheap, a household chemical that removes calcium deposits and rust works better. When fluid starts coming out of the breather valves, close those valves.
- Squish your radiator hoses to help move air out of the system.
- Once you are 100% sure everything is closed, the system is filled and there are no leaks, start the engine. This will circulate the fluid around. If you are using a household cleaner, you may want to let it sit for an hour, give it a chance to do it's thing.
- Drain the entire system again. Based on the colour of what's coming out, you may want to repeat the cleaning. If you are happy, fill it up with coolant.
You don't mention the year, and I don't know BMWs well enough to infer it, but a clogged radiator concerns me – I don't think they "naturally" clog up, so there is something else going on as well.
One likely possibility is that you've got an incompatible mix of coolant. When that happens a sludge can form which could impair flow through the radiator. If that is the case you'll see it clearly in the fluid you drain.
When you say the lower hose is "cold" I assume you mean "much colder than seems reasonable for a running engine" as Pᴀᴜʟsᴛᴇʀ2 pointed out, there will be a temperature drop across the radiator but the "cool" side is still going to be quite warm. One thing to check, if you can get at it, is the temperature of the radiator itself. There should be a "smooth" gradient of temperature across the radiator – not a large jump. If you notice a significant jump that is a very good sign of a blockage.
From little I know about cars, if you said you've bled the car properly and the problem is still continuing from what I know that the hose could and could not be the problem. The hose being hot and the bottom cold is normal this means it's working in a way, doing its job but if it's still overheating you could try changing the top hose if it's swollen there could be a pocket of air that could cause it to not let it through or get to the thermostat. But again you bled it , what I could say is try changing the thermostat.