I also always needed reload of images, not HTML. But, in your case I'd do exactly the same thing:
page.php:
<?php ...header() calls to prevent caching (check this in manual...
If images called from that page don't get cached (i.e. they "inherit" non-caching from main document), create simple script:
image.php:
<?php
...header() calls to force caching...
header("Content-type: image/gif"); // or jpeg or detect from extension
readfile($f);
?>
Call: <img src="image.php?f=image.gif">
If this doesn't work, there may be a dirty trick to solve this. Since "image.php?f=image.gif" is a GET call, it usually doesn't get cached. You might trick it with calling src="image.php" (which doesn't exist). Error hadling function will then get $f (which will be "image.php") and change extension to "gif" and then do the code above. So dirty I cannot believe ther is no nicer way. I hope that the above stuff will work, though.
Good luck!