Bret,
I think a clear violation of relational theory is a pretty strong reason. I think redundant data, requiring updates to multiple tables , introducing the possibility of data inconsistency are all very strong reasons.
As for others, my RI stuff doesn't care whether the code can handle compound keys or not because every key is a integer. As for the space my integer take 4 bytes how big is your character field? I don't need a complex compound index because SQL SELECT will find whatever I want with rushmore and indexes on only discrete single fields.