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
BadOed