You could also use the .NET image control on the page rather than img tags. When you use the .NET controls, you can dictate its behavior in a skin file. For example, you could have this in your page code:
<asp:Image SkinID="image1" ID="Image1" runat="server" />
In this example, I am setting the image control to have a SkinId property of image1.
In your SKIN file, you can set the attribute of the image control. For example, you could have the following in your SKIN file:
<asp:Image SkinId="image1" runat="server" ImageUrl="images/image1.jpg" />
You would then need to put the image1.jpg file in the images subdirectory of your Theme.
If you do it this way, you can change the image file for each theme simply by changing the image1.jpg file in the images folder of each theme (you can keep the same reference in the SKIN file).
Does that make sense?
-Jacob