Very good question. You can find some documentation supporting this behavior here:
http://msdn.microsoft.com/en-us/library/aa933206(SQL.80).aspx
Specifically:
If execute_statement is used with INSERT, each result set (my emphasis) must be compatible with the columns in the table or in column_list.
While not saying it outright, that implies that the result set of each statement executed is returned to be inserted.