Can I drop and recreate a system extended stored procedure? I am having a problem with one of my servers where I cannot execute xp_cmdshell under certain conditions. The full problem can be found here problem running xp_cmdshell when Application Name set in connection string

I want to see if dropping and recreating it will fix it (on a test server first). I'm grabbing at straws here.
No, you can't drop and re-create xp_cmdshell. It's not even its own procedure, but part of a library in xpstar.dll (or at least it was at one point). And I am extremely skeptical that, even if you could re-create this procedure, that would fix the problem you're having.

Maybe instead of banging your head against this problem with xp_cmdshell, you should just bite the bullet and implement the functionality you need in CLR. Or perform the tasks you need outside of SQL Server altogether.