spycatcher2k:
~400MA from a board rated at 200mA - That MAY be your problem. Drive the LEDs with an external power source, and use transistors to switch them.
Uno DIP is rated at max sink 200 mA only via 1x VCC + GND. Arduino Nano is not a DIP. IOREF is shared with 1x 5V VCC pin.
Uno/Nano QFP SMD are rated at max sink 400 mA via 2x VCC + GND. Yes, but max sink for very short time with probably smoke and then fire regulator or microcontroller on long use. IOREF is not shared, it's a separate 5V VCC pin.
Leonardo/Micro are rated at max sink 400 mA via 2x VCC + GND.
Mega 2560 is rated at max sink 800 mA via 4x VCC + GND.
It also should not forget that, each group I/O pins has a maximum sink -> datasheet (some groups max 100 mA, some 150 or 200 mA -> IOH, IOL,....).