As Madmanguruman noted, you did not show your complete schematic, so it was not possible for us to diagnose the problem.
The reason you were seeing some problems when you plugged your USB cable, is because there was already a voltage present on the V_BUS before you connected your cable. Also, this voltage may even be fluctuating.
Here is the reason why; the PIC microcontrollers generally have protecting diodes, which are called internal clamp diodes, to both rails on their input so that any over-voltage, that is voltages higher or lower than a diode drop from Vcc or Vss. MCP2200 is rumored to be a PIC18F14K50. Here is the pseudo block diagram of the input pins of MCP2200:
When there is no voltage present on V_BUS, which is the case of an unplugged USB cable, the applied voltage, hence current, flows through the input pin, which is Tx of your microcontroller, through the upper diode, to the V_BUS. There you have it, 4.3V on your V_BUS, exactly one diode drop lower.
Here is what to do; make the Tx pin on your microcontroller LOW if you are bit banging, or disable the UART module if you are using the hardware serial peripherials, until you somehow enter the serial mode.
If there is not some kind of "serial mode" or "PC connection mode" in your application, you can detect the connection by checking for a serial input, for example, start the module (or make TX pin HIGH if you are bit-banging) after you receive a character, say; S
.
When you start the serial port, you make the Tx pin of your microcontroller HIGH, after that be sure to transfer a dummy character or MCP2200 will get confused and you will not be able to communicate over serial.
A 4.2V buck converter isn't good for charging a lithium ion battery unless it can't source too much current. There's three stages that a li-ion battery needs to be charged correctly. Messing any of those up can result in exploding batteries. See charging lithium ion batteries for more info on that.
Your question about the charge entering and leaving a battery isn't really an issue. I think in that regard, your question is a dupe of another on here a month or so ago that asked what happens when you charge and discharge a battery at the same time (I can't find it now...). At any rate, the point of the answer was that any extra current you need from the 4.2V buck will be sourced from it, and any current from the battery that it can source will be sourced.
If the battery is discharged lower than 4.2V, then the buck converter will supply both the battery some current and it will source the boost some current. This assumes that you have connected the battery in parallel to the boost converter.
Best Answer
Li-ion batteries are usually charged by specific charger controller IC, which tracks charging current, voltage of battery, temperature, etc.
It all depends where the charging controller is located - if it's in the device, you can get away by feeding it with other voltage than 4.2, if it's in a charger, well, you'll have to make yourself a proper li-ion charger.
no way to tell without opening in any case...