One other drawback however is that you can't visibly see the colors from the layout view...which when you have a lot going on in a layout can be confusing (you always have to preview to ensure you have everything.
I began using the styling-stored-in-database approach about a year ago, but for the reason mentioned here I dropped it shortly after. While you're designing a report, if you've got font names, sizes, colours, etc. being pulled from a dataset using expressions, all you have on screen in Layout mode is a generic-looking template, which doesn't give you a true sense of the way a page full of content will be laid out when viewed.
However I still like to have company logos stored in a database and rendered in my report headers from a dataset.
Anyway, I like where you're going with this, Adam, and will look forward to reading more.