Time to do some debug! If something is not working, the best option is to crack open the code and get your hands dirty.
Open up the Uploads library (system/libraries/Upload.php) and look for this chunk of code around line 200:
// Set the uploaded data as class variables
$this->file_temp = $_FILES[$field]['tmp_name'];
$this->file_size = $_FILES[$field]['size'];
$this->file_type = preg_replace("/^(.+?);.*$/", "\\1", $_FILES[$field]['type']);
$this->file_type = strtolower(trim(stripslashes($this->file_type), '"'));
$this->file_name = $this->_prep_filename($_FILES[$field]['name']);
$this->file_ext = $this->get_extension($this->file_name);
$this->client_name = $this->file_name;
You'll see that $this->file_type is being set there. var_dump() that and see what it contains.
The chances are you have some obscure MIME type that CodeIgniter does not know about. Put that MIME type into config/mimes.php and it should work fine.
When you have it working and accept this answer please comment with the MIME type you used and I will add it to CodeIgniter Reactor to make sure nobody else gets stuck.