I like to put myself in their shoes...Which do I prefer, an email or cold call? Well, in all honesty, I would delete the email without even reading it. And, unless it is a service or product I really need at the moment of the call, I would politely respond with a "no thank you". Your chances of making a sale with either method is about 1% (my estimate). Perhaps you can send out introductory letters with a business card? I would be more inclined to read the letter, and even save the card.
Definitely cold call. If you're into a particular niche and you've got a worthy product that they could benefit from, any small business owner would lend you their ears for at least a minute. An unsolicited e-mail or junk (real) mail isn't going to see the day of light -- make the incentive to personally reach out to your prospects.