En mi caso, recibí esta excepción incluso cuando todos los valores de los parámetros se proporcionaron correctamente pero no se especificó el tipo de comando:
cmd.CommandType = System.Data.CommandType.StoredProcedure;
Obviamente, este no es el caso en la pregunta anterior, pero la descripción de la excepción no es muy clara en este caso, así que decidí especificar eso.