Programmatically save altered file
The way I ended up getting around this was: 


Upload my file as an unmanaged file at the new URI
$test_file-&gt;uri = $new_uri;
file_save($test_file);
file_unmanaged_delete($old_uri);


It didn't like it when I used a URI that was not yet in existence, nor one that was already in use by a managed file, but using one that goes to an unmanaged file seemed to work fine.