I have never read the statement "do not use cursors" in any other way than interpreting it as "do not use row-by-row operations, use set operations instead".
So I do not quite see the point of this article. Most SQL developers out there already interpret it that way, and use it that way, because obviously that is what is wrong with it. It isn't really anything new to interpret it in this fashion. Cursors are but one incarnation of the row-by-row mindset.
And in some rare cases one does have to use row-by-row operations. It's not "forbidden". One should remind oneself why the negative connotation of row-by-row operations came about - it is that they are inefficient in dealing with large amounts of rows.
A C# or VB programmer starting to learn using SQL simply has to learn to shift his mindset towards set based operations and realize that in SQL databases these are more efficient. This is what this is all about.