I had the exact same issue. Took it to several shops, replaced the PCM (aka the computer), replaced the ASD (auto shutdown relay) all to no avail.
Then I took it to a shop that had all the necessary vendor software and it turned out to be the fuse/relay/switch box in the left well inside the car. The cover is next to your left foot when you are in the car.
Apparently the rubber gasket of the sunroof does not prevent water from getting into the vehicle and there are two small holes connected to drains that take the water down and out. The holes are clearly visible in the front corners of the sunroof opening when the sunroof is open.
Mine were clogged by dirt/leaves/pine needles and other stuff, so the water found its way through the left column (next to the driver) and all the way to the said fuse box. That caused massive corrosion of the box' PCB and erratic behavior with all the codes you mention. Once the fuse box was replaced (part number 56049173AE) the car runs like a dream.
Of course you also need to keep the drains and the holes clear.
Hope this helps!
Wednesday, January 25th, 2017 AT 11:40 AM