For some reason I think that you are not executing the proc you think you do.
Try simple test:
Change proc to something like:
ALTER PROCEDURE [dbo].[usp_updaterate]
AS
BEGIN
RETURN;
END
Then execute it from application. If it still gives you the error, then check your connection string...
Or check it before hand 🙂