Oliver, it's not a bug.
Row foreground color and cell foreground color are two different "layers", and the cell forecolor layer is on top of the row's one. Even if you redefine the whole row forecolor, this setting is "overlapped" by the cell forecolor setting.
If I understand your logic right, you need to use the CellDynamicFormatting event instead.