I'm a little late to this discussion, but I thought I'd chime in anyway. Like 1dmf here, I'm also in a position in my company where I am the designer, the coder, SEO and all around webmaster (including the servers).
While clients should outline their goals for a site, in my experience, most business owners haven't a clue, they just know they 'want a web site'. Granted, they should do some research, but most don't. I am a web standards advocate, I'm very picky about clean code and css-based layouts, as well as accessibility. While I'll never say I'm an SEO 'expert', I do a lot of reading to educate myself, as a designer and coder, on SEO, I have to, and I"m of the mind that a good designer who's getting paid to build sites should at least have some knowledge of best practices in coding with SEO in mind - as far as that goes.
I'm appalled at what I see being produced by so many web design firms, firms that are charging major bucks to build sites for businesses and especially small businesses who usually have tight budgets and can't afford to sink 10s of thousands of dollars into a web site, and that includes SEO.
Not too long ago, someone came to us (we build websites for physicians) and said they'd paid an outside firm to build them a website and wanted to know if our dept would re-design their site for them. When we looked at the site they had, it was like stepping into a time warp - masses of nested tables, a 1997 look and feel, no interactivity.. well.. you get the picture.. bad, bad, bad. It's a fairly large practice, and a moderate-sized site (most of ours are small, less than 12 pages) -- but they actually paid $30,000 for this web site !!!!

IMO, they got robbed. No surprise they had no SE visibility to speak of, but the designers took time to stuff about 300 keywords onto every page ! Not a heading anywhere, a semantic nightmare.... just awful.
I really do believe SEO, at least to a degree, should be an extra skill. If the client really needs SEO commandos, then at least the client has a good framework to start with.