It seems you have replaced your cooling system, piece by piece. When the engine is warm, do you get good heat running the heater? If so, when it overheats, does running the heater cool the engine at all?

Is it possible the temperature sending unit is bad and is giving a false reading?