I did have a bit of a play with it. Not sure how you’ve got yours set up. I’ve tried a very basic test install, just WP 3.0.3 with a couple of pages and some posts with the default theme. I put that code block at the top, and it worked how I think you wanted it, i.e. the homepage, http://www.domain.com/, shows the dofollow link and all other pages, including posts, show nofollow.
Any chance we can have a peek at the site?
Try using is_front_page() instead of is_home() – I think that might be the effect you’re looking for.
<a title="123" rel="<?php if (is_front_page()) {echo ('dofollow');} else {echo ('nofollow');}?>" href="http://mywebsite.com">My link</a>
is_home only triggers on the main posts page.
Which way does it not work? Are all rel attributes being set to dofollow, nofollow or blank?
You might want to get rid of the second condition (is_single()) and just rely on the first.
Try this:
http://contactform7.com/
It’s quite versatile once you start using it.