I've got a 1998 328i and the same thing happened to me, after emptying the coolant system, checking the operation of the thermostat and making sure the electric fans worked ok.it turned out to be air-locked in the system.
I had bled the radiator with the bleed screw (crossed head plastic screw next to the radiator filler cap) whilst "massaging" the hoses while the car was running but in a stationary position, I thought I'd got all the air out, but when I took it for a run, it overheated, and no hot air could be felt coming out the vents.
I let the car cool down drove home and tried again, same thing happened, appeared free of air whilst idling, but under load it overheated.
Long story short, I took a screwdriver with me on the next run and bled the radiator every few minutes whilst driving in between stops, and it worked like a dream.
Haven't had any trouble since.
Basically, bleeding the car while stationary doesn't always work, don't ask me why, but you may need to take the car for a short drive, then bleed the rad at the side of the road.