Overheating can be caused by a few things:
Coolant isn't circulating - pump, thermostat or other blockage
Insufficient coolant. Leaks, getting burned or air pockets.
System isn't holding pressure (cap or a leak)
Fans not working correctly. (Easiest to check)
Some possibilities are:
Radiator cap, as you mentioned, which keeps the system from being properly ...
Take it to another dealer and have them redo the software update and assess it following this. Mechanics are mechanics. In my experience, they are embarrassingly bad at working with software.
When they can't get it to work like turning a wrench they start throwing around accusations at the customer. Been there done that and, boy, does it irritate me. Last ...
Possibly could be that the switch pack attached to the gear selector is faulty. That could explain all the faults, especially that the car wouldn't start without moving the selector, since this switch ensures the car wont start in anything other than neutral or park.
I suspect the part that the mechanic may have been referring to was the Oil Cooler. I'm not familiar with this specific vehicle but many engines employ an oil cooler which uses engine coolant to cool the oil. This takes in oil under pressure from the oil pump and feeds it back into the oil system, on it's coolant side, it takes coolant in from the water ...