I don't want to sound like some kind of intellectual fascist, but I just can't
> accept "dumbing down" a system because the la(z)yman doesn't care to
> learn it's proper use.
 
I can share your sentiment with this as it's a struggle I have on a daily basis
with these developers :)
 
How about this argument:
The target declaration files are the human readable/writeable way of constructing
a dependency graph. The graph itself is and should be nothing but data; there
is no place for logic inside the graph. While conditional properties and
<conditional> properties can be considred logic, I would still argue that it's still
a piece of data.
 
From experience, it's usually best to separate your data from your logic as it scales
really well.