20mpg sounds very good around town. I'm lucky if I get 18... but that might be because i have a lower-powered 525 and I have a very heavy foot.
about the overheat... check all the hoses for leaks, as well as radiator. with the engine off try spinning the fan. it should have some resistance.. if it spins freely your fan clutch might be dead.
also bleed the air out of the cooling system... many times. one bleed screw is on the thermostat housing and the other next to the expansion tank on the radiator.
as for the diesel vs petrol comparison... the petrol cars are much quicker, but diesels get twice the gas milage or more...
perf. figures for all e34s
http://www.bmwe34.net/e34main/other/Models.htm