You don't have to edit the edmx / xml. DO THIS:
When you bring a stored procedure into the EDMX (I'm talking about one that returns a result set, but it's going to be a similar process), 3, not 1, items are created, and that is the source of the problem. (*** the second source of the problem is that you have to explicitly SAVE after deleting objects, before re-importing objects, otherwise the newly re-imported objects will clash with what's not been truly deleted (by saving) from the edmx.
SO! Do this:
In Model Browser, usually on the left, paste the name of your stored procedure into the search box, click enter (or search). It will land on the first instance - probably the stored procedure itself. Right click and delete. Now, put cursor back in search box -> hit enter or search again. Now you will land on the function import. Right click and delete. Do the same thing a third time - this will land on the complex type representing the result set. Delete it. Now you're done NOT!!!!!. You have to save what you just did, so that the deletions are written (un-written) in the edmx.
Now, go get the stored procedure again (updated model / select the stored proc). NOW CLICK SAVE AGAIN.
That will work every time. The key is make sure when using the model browser to search ALL instances of the stored procedure name appearing in the model browser, and because of that, it's better not to fuss around with the default naming conventions. Second key is to SAVE after you complete any step.