Since you never see the aux fan run, fix that first. Check the fanstat switch on the top of the passenger side of the radiator. Jump the terminals inside the wiring connector to see if the fan comes on at all.
If necessary, boil the fanstat in a saucepan & test it that way. Relays also can cause trouble, and the aux fan itself (or the large resistor clipped to it) sometimes goes wrong.
If you're still having an overheating problem, get the system pressure tested up to 15-20psi. Any severe pressure leak will cause overheating regardless of how new everything is.
Check the heater core too. When my BMWs overheat, I always put the heater on high...on one of my cars that made it worse. Finally figured out that there was a bad o-ring on the valve inside the car! Leaks in the heater core can be concealed by the HVAC heater box, it drains out by the transmission (hard to see but easy to small).
Also be sure you have the fan bolted on the right way. It can be bolted on backwards, believe it or not. Doesn't work as well that way...