How is the file data in the database table file_usage created and managed? I am deleting orphaned image files in Drupal 7, but I have to first cross reference them to other tables that might be using the images. Given that I don't upload any images via the IMCE editor interface and mainly do uploads via the image module, would it be safe to say i can cross reference the table file_managed and image_dimensions to file_usage and delete what's not there?

Right now I'm just wondering how file_usage is populated. Is it populated every time I upload any file type?
The code used by Drupal to delete temporary files is the following one. (It runs during cron tasks.)

  // Remove temporary files that are older than DRUPAL_MAXIMUM_TEMP_FILE_AGE.
  // Use separate placeholders for the status to avoid a bug in some versions
  // of PHP. See http://drupal.org/node/352956.
  $result = db_query('SELECT fid FROM {file_managed} WHERE status &lt;&gt; :permanent AND timestamp &lt; :timestamp', array(
    ':permanent' =&gt; FILE_STATUS_PERMANENT,
    ':timestamp' =&gt; REQUEST_TIME - DRUPAL_MAXIMUM_TEMP_FILE_AGE,
  ));
  foreach ($result as $row) {
    if ($file = file_load($row-&gt;fid)) {
      $references = file_usage_list($file);
      if (empty($references)) {
        if (!file_delete($file)) {
          watchdog('file system', 'Could not delete temporary file "%path" during garbage collection', array('%path' =&gt; $file-&gt;uri), WATCHDOG_ERROR);
        }
      }
      else {
        watchdog('file system', 'Did not delete temporary file "%path" during garbage collection, because it is in use by the following modules: %modules.', array('%path' =&gt; $file-&gt;uri, '%modules' =&gt; implode(', ', array_keys($references))), WATCHDOG_INFO);
      }
    }
  }


file_usage_list() is the function that queries the "file_usage" table.
The function that adds a row in that table is file_usage_add(); looking at the functions/hooks that calls it, I conclude that the "file_usage" table is used for managed files. Since you are not deleting the files with a row in the "file_managed" table, I would say you can avoid checking the "file_usage" table.