I'm posting on this old post mainly for completeness and to help anyone else out that has this same issue.
I'm not sure how far back this goes, but I know it works in SQL Server 2008 r2.
the xp_cmdshell command has an optional parameter to specify no output. In your example here your sp would have a line like this:
exec xp_cmdshell @cmd, no_ouput
Thank you so much for this info, was banging my head up against this problem.
However, for completeness again, there is a typo in the above line, should be "no_output".
For whoever this might help, this helped solve the issue I had when trying to run an ssrs report that called a stored procedure which initially called a ssis package, then built up a dataset. Without the no_output parameter, the ssrs report was trying to work against the "output" results information from the ssis package.
Again, THANK YOU so much.