Follow up for future searchers.
Dealer supplier could never find a good one.
I sent mine to neatautocomputer on Ebay and they could not find anything wrong with it and shipped it back no charge.
Computer seemed to be happy for a while, but in hindsight that was because of the cool weather. When the weather got hot, it started up again.
Wanted to get a different PCM so bought one from Flagship One for $648. They had poor communication on the delays, but finally said they went through 3 different cores and could not find a good one. They offered to fix mine for $500, but if they can do that why didn't they fix one of the bad cores? Cancelled order.
Bought one from Car Computer Exchange for $969. They had a good turnaround time, paint their box black and forgot to update it with my VIN. Sent it back on their shipping. Now they took their sweet ass time even though it was their mistake and I called them letting them know an upcoming trailer towing trip was in danger of being cancelled. 8 days later they shipped it. Installed it and used Forscan to verify VIN update and all modules communicating. Yay, but too late for trip.
===============
Call out locksmith to program my only key. $100 and he says I need two and 2nd one is $95. Erases 3 keys in PCM, adds mine and it will not start. Charges me $85 and leaves.
Was leery of using Forscan do it, but found some good instructions and got the free trial extended license. Buy 2nd key at Batteries & Bulbs $35 and $15 to cut it.
Erase the one key, add my 2 keys. Then Module Initialization is needed. Go through the prompts and inserting keys on and off, but does not work. Forscan says to try again. I try two more times, but same error. Then I just try to start with main key. Works! 2nd key also works!
================
Go for a long drive in 104 degree stop and go traffic and AC works great with no surging feeling from the compressor being turned off and on every tenth of a second.
BTW Mine is an early 2010 made in August '09. Forscan had me do the 12 minute security waits, but there was no code generation needed as described in this write up: