Hi, I had this problem with a 1997 BMW 328i a few years ago. The water pump has a plastic impeller that persishes over time. This stops water getting pumped around your engine. The impelller can be replaced with a metal one, fitted as standard on newer models. ask your garage to check the impeller in the water pump, if that's OK, check thermostat, then fan, then rad. Problem is many mechanics overlook the impeller so you could needlessly spend money replacing parts that are unneccessary unless you specify that they check the impeller
Colm Fox, September 2008