Crash was right!
I had some unexpected free time this weekend, so I added a configurable delay that controls how fast it switches from one brightness to another, pretty much the same thing as in LED OCD. It "rounds off the edges" quite nicely. You still get the flashing effects like at the start of Stiff in the Coffin, but it's "softer" flashes.
It will be another week or so before I receive the updated boards, but I did some more temperature testing with the diode bridge. I gradually increased the duty cycle while monitoring temperature, and by the time I got to 100% duty, it settled at 90C. That's still within the operating range of the bridge, but it's pretty darned hot. You really shouldn't be running it that way, because it runs the LEDs at a constant ~9V.
The rest of this gets pretty nerdy, but it seems to help me straighten out my thoughts by putting them in writing.
The heatsink I have now is no slouch (10C / W), but I have a better one on order. It's too hard to tell how much it will help since it depends on airflow, ambient temperature, etc.
There are drawbacks to the MOSFET bridge approach as well. The most obvious is cost. It would be about $12 in parts vs $5 for the old school bridge and heatsink.
It's also more complex, and the controller is a tiny SMT chip with a GND pad in the middle, making it something that most pinheads won't want to work on themselves.
It will output a higher DC voltage, meaning you'll have to run at a lower duty cycle for the same brightness, effectively reducing dynamic range.
Finally, the DC voltage HAS to stay above 9VDC for the controller to run properly. There is a tradeoff between LED current, the amount of capacitance, the voltage ripple, etc. It's a lot to think about.