I did a little debugging on this issue. The wiring diagram for the door locks (attached) shows the following:
Connector C on the BCM housing
Pin 1 = Driver's door only unlock output signal
Pin 2 = Lock/unlock input signal (from door switch and key fob)
Pin 3 = Unlocks all other doors output signal (excluding the tailgate, this is a separate signal as well)
Pin 1 and 3 would normally be connected together but in the EVIC settings there is an option to make 1 press of key fob unlock only the driver's door (and tailgate) and a double press unlock all the doors. So these need to be separate output signals. If you do not carry around too many passengers, this is a redneck fix because the drivers side unlock and lock both work, the other doors are the problem as they do not lock.
Here is a diagram that shows the location of the three pins described above.
Looking at these signals with an oscilloscope (with the dated time stamp from 1993, still works great!), all the unlock signals are close to the same on pin 1, 2, and 3. However, the lock signal is the same for the pin 2 input signal and pin 1 driver's door but has an unlock signal for pin 3 which controls the other three doors. Hence the problem we are all facing.
It is quite possible the BCM's microcontroller firmware is misinterpreting the lock input signal. I've traced the signal on the PCB connector to the relay driver and nothing seems out of the ordinary. There is a simple Darlington relay driver whose input is connected to a microcontroller and ouput connected to the relay that drives the door lock actuator on the BCM PCB. The input signal to the driver is the same as the output just lower power which is indicative of a software issue with misinterpreting whatever signal tells the BCM to lock the doors.
Two interesting side notes:
1) Sometimes when the brake is applied, a warning shows up in the EVIC that says I have a parking brake out. This is a false positive. Possibly a related problem with the BCM as it likely controls these warning indications as well.
2) Since day 1 of owning my truck I took the cover off the tailgate and disabled the tail gate lock by simply unplugging the connector. The door lock problem might be related but it took 3 years for it to start showing up. Have others done the same by chance?
The BCM has to have a software flash by the dealership to function properly. I've purchased a used one for $80 from eBay that I am going to install in the dealership parking lot then get them to flash it. The BCM flashing manual says it takes 0.2 hours but the dealership says it costs $130, maybe that includes the labor to remove it as well. It is simply a flash using the OBD-II port underneath the steering wheel according to the flashing manual.
I'll let everyone know how it works out and the best way to avoid paying the dealershipp $$$ if your truck is out of warranty.