This is the main reason I avoid ISNULL, if possible.
Another aspect is the nullability of the result. ISNULL will infer that from the nullability of the second argument, whereas COALESCE always returns a nullable type. This can be an issue when creating tables with SELECT ... INTO. In that case I sometimes resort to ISNULL(COALESCE(value1, value2, value3, ...), ''), just to make the result NOT NULL.
Just because you're right doesn't mean everybody else is wrong.