Most "skinning" i've seen being done, uses an xml file to tell the app Where to place the controls, and waht image file to aply to then, ie for buttons...
This can easily be achieved also with either a xml or ini file, wich the app would read FIRST, before doing any form layout, and use those setting to place the controls...
Skins do not alter the program flow, only the graphical look of it, so any "final" app can be skinned by adding a module...hum....nice idea...