IMHO, install-time conversion to a native format isn't worth it. The actual native format may change after install, such as change of desktop colour depth or updating drivers. If you really want to speed up loading of images then I've found that you get much better results by having a few large tilemap images and chopping them up at run time rather than lots of little files.
I already have images composed from tiles. I do not want to optimize loading speed - at least not startup time - I want to optimize memory usage without working too much on smart image cache. I would just like to minimize pause time when new big image has to be loaded into GPU.
As for the format change after install - no problem to recreate cache after each color depth change, detected at startup time.
My idea is simple. Currently, java has data image in heap and it automagically copies it to GPU when needed. If there is not enough RAM for application, parts of heap will be written to swap and then read back from it. I would just like to replace image data parts of heap by readonly file on disk - no need to write anything on swap out.
It is not _critical_ - I can just bite the bullet (?) and implement smart image cache myself. It is just this extra copy in memory which looks like a waste to me...