Just a note on the documentation for CUI stuff. I don't know if the material has been updated yet, but there is a little quirk that was not documented as of March. As you'll read in the documentation for 2010, once you've made the changes to the main cui, you'll have to reload it. Don't use the Doc.SendStringToExecute as it's asynchronous (can't predict the order the cuiload or the cuiunload will be run). There are multiple posts on the workarounds for that. However, what you need to know is that the cuiload works differently from the commandline than it does through the dialog. CUIUNLOAD will take care of dumping the main cui and all of the partials. CUILOAD from the commandline though, only loads the particular file you have listed. So you'll need to get a list of the partials and load all of them after loading the main cui.
Likewise, if the changes you make are from the enterprise cui, you'll have to collect and reload those partials as well.
It's quirky, because if you set FILEDIA back to 1, and load a main cui file, the partials will come in as well.
In all of the documentation I've read (ObjectArx 2006-2010), this has not been picked up. Maybe everyone else just caught this, but I hadn't for a long time. Hope that saves some hair pulling.