How to programmatically display a webform in a block based on user selection
You're very close - the return from hook_block_view() is an array with keys content and optionally subject. Your current code example:

$block['content'] = module_invoke('webform','block_view','client-block-N');


Produces the equivalent of:

$block['content'] = array(
  'subject' =&gt; ...,
  'content' =&gt; ...,
);


When you put that through drupal_render(), it gets angry (because subject isn't a render array but isn't prefixed by #).

You're probably looking for:

$block = module_invoke('webform','block_view','client-block-N');


Or simply:

return module_invoke('webform','block_view','client-block-N');


(once N is substituted for the node ID of the webform).