Yet public opinion does not necessarily favor coal. I agree that money influences policy, there's no question about that, but that's a lobbying reform issue, not a campaign finance issue.

Money spent in campaigns is money to persuade the public. When there is a ballot issue between say, coal and environmentalists, coal companies usually outspend the enviros by a ton, but that doesn't even come close to guaranteeing success in the referendum. The only way they ever win is if they can credibly say that it will cause electric bills to rise or something. In the end, the public has to be persuaded and you can't just spend money and magically persuade.