A USB port can only typically source 2.5 watts (5 volts at .5 amps). If you are only programming the microcontroller, you should be OK, but if there are any other things the port would be powering (MOSFETs, LEDs, Servos, motors, ... ), and it exceeded the 2.5 watts, you would typically get the "USB Low Power" alert, and not a catastrophic shutdown.
My guess as to what is happening is one of a couple things.
1) The USB port on the MBP is damaged, which can be check by seeing if the problem exists on all other USB ports, or just this one.
2) Verify that all your wiring is correct on the Arduino board. When a microprocessor is reset, it's typical for a pin to be pulled low to initiate the reset. If the board is improperly wired or setup, when the reset happens, one of the USB data lines could be getting 5v applied to it, or the 5v line could be pulled to ground.
3) Electrostatic Discharge could also be causing these problems. I've had microprocessors (connected via USB programmer) reset when touching the metal on my MBP after walking around the office. You may want to consider some ESD mats and bracelets.
Best Answer
Take it to Apple. It's a 5-year-old phone with hardware problems. Apple will agree to replace the battery when the health is below 80%. The charge for a battery replacement is quite small.
If there are other problems, then you may want to save your money and think about an upgrade.