There's two kind of images: called from .css and called from .Master.
Called from .CSS:
If you're following the Designer's guide method (put everything under App_Data) its best to avoid full paths. Changing a theme's name, or changing the publication (subroot) will break the theme.
If you're using themes and calling in image from the .css file, you can just use this for instance:
background: #fff url('../images/background_header.jpg') no-repeat left top;
Since the image is called from the .css file, the path to it is relative to the .css file.
Meaning if you have a folder structure like this:
It'll find it perfectly.
Called from .MASTER
When you're calling images with an image tag directly from the html, you're kind of switching from 'design' to 'content'. And since you're not using Sitefinity to handle to content, you'll need to do the extra typing ;)
In that case you should provide full urls that start from your applications root, like this
In that case it won't matter if the website is running as an IIS website, or as an application inside of a website, but it'll always traverse from the current root.
Naturally if you change your theme's name, all the urls provided will no longer function. So perhaps instead of using a hardcoded img tag, try a css alternative as mentioned above.