So why can you only draw 200mA per pin?
No you can't. In the data sheet for the Atmega processors there is a list of absolute ratings, section 28. It says:-
DC Current per I/O Pin .................40.0 mA
DC Current VCC and GND Pins...... 200.0 mA
On an DIL package there are two Vcc pins and two Gnd pins. These are split into analogue and digital supply and ground but are connected together inside the chip. Therefore any current will be split in two, so the total draw from the supply can be 400mA as can the total current sink.
I suspect this limit is caused by the bonding wires into the chip. Where as the limit on the pins themselves is determined by the output FETs inside the chip.
There is also a bunch of other restrictions as to the total current distribution within pins.
βMaxβ means the highest value where the pin is guaranteed to be read as low
βMinβ means the lowest value where the pin is guaranteed to be read as high
Although each I/O port can sink more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
ATmega48PA/88PA/168PA/328P:
1] The sum of all IOL, for ports C0 - C5, ADC7, ADC6 should not exceed 100 mA.
2] The sum of all IOL, for ports B0 - B5, D5 - D7, XTAL1, XTAL2 should not exceed 100 mA.
3] The sum of all IOL, for ports D0 - D4, RESET should not exceed 100 mA.
If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test condition.
Although each I/O port can source more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
ATmega48PA/88PA/168PA/328P:
1] The sum of all IOH, for ports C0 - C5, D0- D4, ADC7, RESET should not exceed 150 mA.
2] The sum of all IOH, for ports B0 - B5, D5 - D7, ADC6, XTAL1, XTAL2 should not exceed 150 mA.
If IIOH exceeds the test condition, VOH may exceed the related specification. Pins are not guaranteed to source current greater than the listed test condition.
This has nothing to do with the regulator which is on the board and is responsible for providing power to the chip. The rating on most Arduinos for this regulator is 1A but thermal considerations which depend on the input voltage limit any practical current to about 500 - 600 mA.
Someone somewhere just had written "only 200mA otherwise you burn out the reg"
There are a lot of simpletons out there.