Displaying Empty Option in Multiselect box
That behaviour is by design; from the docs for form_process_select():


  // A non-#multiple select needs special handling to prevent user agents from// preselecting the first option without intention. #multiple select lists do// not get an empty option, as it would not make sense, user interface-wise.


(emphasis mine).

If you want to override that behaviour you can probably implement hook_element_info_alter() and provide your own process function which does things differently to the core one. e.g.

function MYMODULE_element_info_alter(&amp;$type) {
  $type['select']['#process'] = array('MYMODULE_form_process_select', 'ajax_process_form'),
}

function MYMODULE_form_process_select($element) {
  // Duplicate code from form_process_sleect() and change what you need.
}