API page: http://api.drupal.org/api/drupal/includes%21file.inc/function/file_save_...
API page: http://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7#file
It took a good bit of headscratching until I discovered the first comment on the file_save_upload() documentation that explains that in order to properly use the the $source argument the form #name element must be set up as an associative array.
Here is a link to the comment in question that I think should be incorporated into the documentation: Name the image file form field using array syntax