These other garages you took it to , were there scan tools able to connect to any module on the vehicle ? Checking for codes in the GEM - genaric electronic module , instrument cluster etc.... All the modules on your vehicle talk an share information over a SCP - serial data bus . If a module is down it set's a DTC in one of these other modules . You would need a factory or a professional grade scan tool to talk with these other modules . That would be the first step if this came to my place of employment .If no modules on the data network communicate , checking the network would be the next step .
For a quick check of the SCP network, simply place your voltmeter across the SCP pins at the data link connector (top row second from left and bottom row second from left).
SCP voltage will usually range between 4.5 and 5.0 volts. If there is no voltage present at these pins when the key is on, unplug one module at a time until this voltage returns. In some cases, a shorted module will load down the network.
If the voltage is low no matter what module is unplugged, there is likely SCP wiring damage. There needs to be at least one module plugged in to get the voltage on the network.
When testing the CAN network, both voltage and resistance can be checked. Place a voltmeter or an ohmmeter across pins 6 and 14 to check the high speed CAN network.
When checking voltage, the CAN network will normally be around 2.5 volts. When checking resistance, ensure that the key is off. The resistance of the CAN network will be around 60 ohms. An explanation of this resistance can help diagnose a high speed CAN problem.
On a Ford vehicle, there are two termination resistors on the CAN network. These resistors are usually found in the PCM and the instrument cluster. Each resistor is 120 ohms.
When they are put together on the network, the network will show 60 ohms. With this in mind, if you check the resistance and it reads 120 ohms, you know that one of the modules is not on the network. Simply unplug the cluster or the PCM to see which one is on the network.
A low resistance value will usually indicate a shorted CAN circuit, or a shorted CAN module. Unplug all of the modules except the PCM and the instrument cluster and then see if, at any point, the resistance returns to 60 ohms. A high resistance will usually indicate a connector issue, corrosion or wiring issue.
Information courtesy of Identifix Inc. tech department. See www.identifix.com.
also check pin 13 at the DLC to pin 13 connector C 191 at the PCM for a open circuit .
You can find a wiring diagram here
http://www.bbbind.com/free_tsb.html