Is it possible to automatically delete image files that have been uploaded when a node is not saved?
That would be difficult to accomplish automatically, since as you pointed out, these nodes / profiles are not saved and therefore the data isn't loaded into Drupal 7's file management table. Drupal 7 will automatically delete all files it is tracking in the file management table when the node is deleted. 

Another way to approach this then is to try and detect any files in your target folder (ex. 'files/') that do not have a corresponding data entry in the database and then delete those. Here is a script from Caribbean New Media that does just this task (and even cleans up image styles):


  The script will scan through your chosen directory (and
  subdirectories), for every file found, it will endeavour to
  cross-reference that file within your chosen table.
       If the file doesn't exist in the tables, it will delete the original file and all it's generated image style files you have
  defined.


Definitely should be carefully configured and tested in a safe development environment before moving to your production site, but once running correctly, you can set this up in a cron job to at least have it run every few days / week to clean up orphaned uploads.