Add image field programatically in D7
OK, what I came up with here:

function save_my_image($uri) {
  //copy file into drupal files directory
  $contents = file_get_contents($uri);
  //then save into drupal's file system
  $file = file_save_data($contents);
  return $file;
}


file_save_data() (http://api.drupal.org/api/drupal/includes--file.inc/function/file_save_data/8) will handle creating an fid for the file and keeping track of it generally.. then simply add the fid to the node in question and you should be golden.