IMHO, the single biggest function of any chain product is to prevent rust. The secondary function is to make the chain/sprocket run quietly. WD-40 is a piss-poor lubricant, being a light oil suspended in mostly kerosene, so it's value as a chain product isn't lubrication. Ken, as a farm-raised guy can tell you that farmers wash down their tractors with straight kerosene to prevent rust.
In an industrial environment, chains ( of similar design/construction to MC chains) which are run continuously in an enclosed oil bath can be expected to last decades, whereas a MC only lasts a year or so. The difference, IMHO, is not the lubrication, but the exclusion of dirt. Removing dirt from a chain (i.e. maintenance) is very important to chain life, as is avoiding washing the chain with a pressure washer -- this drives water into the rollers, and causes rust.
Anything that damages the o-ring shortens the life of a chain since it allows the built-in lubrication to get out, and damaging abrasives to get in. This could be sand/mud, rust, or a chemical that attacks the rubber o-ring.
It should be pointed out that when a chain wears, it's not the *links* that wear, it's the pins and rollers. It literally wears on the inside, which you can't get to by lubing the outside. IMHO, chain lube is a hold-over from non-o-ring chain days. When I was a kid, it was common to remove the chain, wash it in gasoline with a scrub brush, and soak it overnight in 90-wt gear lube before reinstalling it. You'd get pretty decent life out of a chain if you did that *every* weekend.
RRob has an interesting way to lube a chain, perhaps he'll chime in.