I ran into a battery that was running down overnight, and at times the engine would not turn off due to rust-colored corrosion between the contacts inside the automatic shutdown relay. Starter relays, and many others, are the same part number so it stands to reason the same thing could happen, but it doesn't seem likely that corrosion would pass 20 amps to the starter solenoid. Also, that corrosion would probably block the contact from moving properly so your symptom would be a no-crank problem.
The starter circuit can be broken down into four individual circuits at the relay. This is where things get real simple if there's no remote starter system. The only circuit that can cause self-cranking is the one coming from the ignition switch. You already proved the relay is getting energized because the problem doesn't occur with the starter relay unplugged. A different way to prove that is by leaving the ignition switch in the "off" position so the gearshift can be placed in reverse or drive. That turns off the second part of the starter relay circuit by turning off the neutral safety switch. That will also prevent the starter relay from activating.
Without the advantage of further tests, I'm going to go out on a limb and suggest there is a problem with the ignition switch, specifically the wires going to it. There have been a lot of problems with ignition switch contacts overheating, especially for people who use the heater fan on the highest speed a lot. That draws a lot of current through the ignition switch leading to those overheated contacts, and that heat migrates out to the terminals and wires in the electrical connector. That is a totally different circuit than the starter circuit, but if the right wires melt together and touch, it could put 12 volts on the starter relay wire and that can be intermittent.
What you can try is monitoring the voltage going to the starter relay from the ignition switch. For more accuracy, that will best be done with a test light and the relay removed, or with the relay in place and using a voltmeter. The relay or the test light draw a lot more current than the voltmeter, so for voltage to show up when it shouldn't, there has to really be a solid, easy-to-locate short. Just a digital voltmeter used by itself will also show an undesirable voltage but that doesn't mean the defect can pass enough current to trip the relay.
If you're using a test light, remove the starter relay, then put the probe in terminal 86 of the socket. There are some discrepancies in some service manuals so to be sure 86 is the correct terminal, turn the ignition switch to "crank". If the test light doesn't light up, try terminal 85. Now you have to wait and see if the test light starts to glow when the ignition switch is off. If it does, remove the upper and lower covers under the steering wheel and inspect the switch wiring on the left side. If the switch contacts have been overheating, you'll normally find two wires that are unusually hard up to four inches from the connector. The repair for that is to replace the switch, cut the melted plastic away from the connector body to remove the two blackened terminals, cut off five inches of those two wires, splice in new pieces of the same diameter, solder and seal the splices with heat-shrink tubing, install a pair of crimp-on terminals AND solder them, then plug them in individually through the holes you cut in the connector body.
Getting back to that relay, if you want to use a voltmeter, remove the relay and slide a thin wire into terminal 86 to provide a convenient test point, then reinstall the relay. That wire should be small enough to not bend or distort the terminal because that could cause a new problem with a bad connection. If you're using the test light, don't poke the probe in so hard as to distort that terminal either.
Image (Click to make bigger)
Sunday, February 5th, 2012 AT 8:51 PM