Straw man. When was the last time you had to check the documentation for the parameter evaluation strategy of a C function call?
I don't think it is a controversial statement than a badly designed macro can do more damage than a badly designed function. I believe that this is true, even normalizing for bad macro systems. This is not a statement against macros, so much as it is a statement to consider when making tradeoffs.