How do I set BCC in the email I am sending?
Your hook_mail implementation needs to set the subject/body for the email to send; $params is just passed for context.

Given your first snippet, this should work:

function mymodule_mail($key, &amp;$message, $params) {
  switch ($key) {
    case 'test_email_form':
      $message['headers']['Bcc'] = $params['Bcc'];
      $message['subject'] = $params['subject'];
      $message['body'][] = $params['body'];
      break;
  }
}