The brief
The 216i had been creeping toward the hot zone in slow traffic. The owner had checked the obvious things first, no puddle under the car, the coolant level sitting right at the cold mark and never dropping. A cooling problem with no leak points away from a hose or a pump and toward whatever decides when the coolant flows.
On this engine that is the thermostat, and it is not the simple wax-pellet kind, it is an electronically controlled coolant module the engine computer manages. When that module faults, it can hold the coolant flow back when the engine needs it, so the temperature climbs in the conditions where airflow is lowest, exactly what was happening in traffic.
The diagnosis
A pressure test on the cooling system held clean, no leak anywhere, which ruled out a hose, the radiator and the pump. The diagnostic scan then pointed straight at it: fault codes on the heat management module, the electronic thermostat, with the live data showing the coolant not flowing the way it should once the engine was up to temperature.
The radiator, the cooling fan and the water pump all checked out fine. So it was the thermostat module and nothing else, and a faulted electronic module is not something you adjust, it gets replaced.
The work
Enough coolant was drained to drop the thermostat housing, then a new BMW-spec thermostat module went on with fresh seals. The system was refilled with the correct coolant and bled of trapped air the proper way, then the engine held through a warm-up cycle to watch the gauge and confirm the new module was regulating.
The scan was run again to confirm the heat-management faults had cleared and stayed clear.
The outcome
The engine warmed up at the normal rate, the gauge held in the middle through traffic and out on the open road, and the cooling fan cycled in at the right point.
The 216i went home with the cooling system regulating properly again. For the owner that is the end of watching the temperature climb every time the traffic slows, and catching it as a thermostat-module fault, before it turned into a genuine overheat, meant a contained repair rather than the engine damage a real overheat brings.