I've spent a considerable amount of time working on
granular changes in my images for control pages and what I have found in regards to caching is that you have to either give it some time to expire on its own (sorry I don't have the exact amount of time) or you can force it by restarting the Indigo server (not just the client).
I have run into this MANY times because I will create an image and play with it, decide I don't like it and change it only to find Indigo still references the prior image - even if I temporarily change the image in Indigo and change it back. It's not unusual for me tweak an image 50 or more times before I'm satisfied with it.
For example, I create an image called Button1.png, decide I want to change it and when I overwrite it with a new Button1.png it will still show the old one and the only way I have found to force it is restarting the Indigo server (in Indigo click on Indigo 6 menu, then Stop Server - once it's stopped then start it up again).
The way I now do things is while my image is a work in progress I give it a temporary name like _TESTButton1-001.png, then _TESTButton1-002.png and when I'm finally satisfied with my changes I then name it Button1.png and delete my temporary images.
On another note regarding sizes, I have found my best results in dealing with CP backgrounds to just size my images to the native device size (since you are using Indigo touch that would be 2048x1408 for iPad retina landscape and 1408x1760 for iPad retina portrait) - this way I never have to try to deal with scaling or any of that.
Of course your mileage may vary, but that is my system and my experiences on this.