Vous avez besoin d'un paramètre avec Direction défini sur ParameterDirection.ReturnValue
dans le code mais pas besoin d'ajouter un paramètre supplémentaire dans SP. Essayez ceci
SqlParameter returnParameter = cmd.Parameters.Add("RetVal", SqlDbType.Int);
returnParameter.Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery();
int id = (int) returnParameter.Value;