And finally, #9038D starting no problem form my 3 years old Android, even with about 4500uF onboard! The current limit there is way lower USB2 standard 500mA, probably about 300mA or so. That fact perhaps makes useless handy USB "switches" like TPS2051 because of 80mOhm P-Mosfet inside and 1-1.5A limit, the same time, continuous current rating as low as 500mA. I using 50mOhm P-Mosfet and any R in parallel to it to fit 9038D inrush current to the Android's current ability. My Android turning on USB 5V rail just for 1mS and Off if the limit is reached.
Actually unconfigured USB devices are only allowed to draw 1 unit of power according to the USB specification. The unit is 100mA for USB 2.0 or 150mA for USB 3.0. A properly configured USB host may limit current delivery to one unit. In the PC world this specification had been long time ignored, it is why designers tend to forget about.
CM6642 chip is probaly requesting high-power delivery during the USB bus negotiations, but it is obstructed by your additional load and that is bringing USB bus power down. It is why your device is not recognised by the Android device most of the time. I see in your later post that you managed to make it working, but it is just a workaround and may not be working on all devices, you can make it better.
I am not in position to suggest a proper action (I don't design these things anymore), but I think you should obey the maximum 100mA for the power section of CM6642 chip alone (which is responsible for the startup negotiation), then after couple miliseconds delay turn on the main power MOS switch for the remaining devices (try without any current limit first, it may not be needed).
EDIT: The ideal sulution is to invest in a small dedicated HW-reset chip, that would keep all other devices in a low-power state, but the MOS switch will be still needed for the main RC or LC filter, I think.