The way I read the manual on GET DIAGNOSTICS is that it returns information about the previous SQL statement. It does not mention anything about subselects. If the statement is a INSERT, UPDATE, OR DELETE row_count returns the number of rows affected.
I think in your example, you statement is a SET, and no rows are affected by that.
HTH
Andy