Why can not Drupal find my theme for a custom block?
You're calling a non-existent theme function. Your code should be:

return theme('poll_dialog_output', array(
    'title' =&gt; $static_title,
    'content' =&gt; $static_content,
    'link' =&gt; l('Poll', 'some url'), array('attributes' =&gt; array('target' =&gt; '_blank'))),
  )
);


or, even better:

return array(
  '#theme' =&gt; 'poll_dialog_output',
  '#title' =&gt; $static_title,
  '#content' =&gt; $static_content,
  '#link' =&gt; l('Poll', 'some url'), array('attributes' =&gt; array('target' =&gt; '_blank'))),
);


The main point is that the name of the theme function you call needs to match what you've used in hook_theme().