Hmm. Some of the problem will also be that when you link statically, it will only bring in .o files from the archives that contain stuff you directly reference - so most of the CEGUI stuff is going to be discarded
The only (probably bad) idea I can come up with at the moment is to incorporate the relevant CEGUI sources along with your own code into a single DLL - this is no mean feat, but it can be done (brucey does a similar thing with the BlitzMax wrapper). This way you would dispense with all the linking issues and the problems of code getting thrown away when statically linking. The bad parts are that you'll need to somehow manage the build yourself - defining CEGUI_STATIC so the other DLLs are not required, but also exporting symbols from the main CEGUI code you're incorporating. It's definitely a hairy thing to attempt, but thinking over the issues again, perhaps the only viable solution?
CE.