Hi, Jan, Jason, Stefan!
Here's a preliminary patch which I think fixes the code, though I've only
tested it briefly. It seems to work for the case you (Jan) were hit by.
Now, any CC Mode style set by `c-file-style' will leave unchanged those
style variables (e.g. `c-cleanup-list') which have already been given
real values.
I expect and intend that if the `c-file-style' mechanism is used twice,
the second one (in the file's Local Variable section) will prevail over
the first one (in some .dir-locals.el), whilst respecting the non-default
value of `c-cleanup-list'.
Jan, please try it out!