NEWER New Optiboot bootloader

While it is "interesting" that the normal Bootloader timeout is sufficient to allow the WS5100 shield to initialize, the proper place to insert a delay is surely in the sketch itself, rather than the bootloader. A "delay(1500)" at the beginning of setup() should be indistinguishable from a delay in the bootloader. (Ideally, there should be some way for the code to check whether the ws5100 is 'ready' for whatever is being done to it. But I don't know whether there is. The WS5100 has a lot of signals that are not connected to Arduino at all...)

(It DOES make sense that you're seeing insufficient delay on poweron, but not normal reset. The bootloader has a feature called "fast start" that starts the sketch code immediately after poweron, and only runs the bootloader (which delays for about 1500ms looking for new code) on an explicit "reset.")