V mém případě jsem obdržel tuto výjimku, i když byly všechny hodnoty parametrů správně zadány, ale typ příkazu nebyl specifikován:
cmd.CommandType = System.Data.CommandType.StoredProcedure;
To samozřejmě není případ výše uvedené otázky, ale popis výjimky není v tomto případě příliš jasný, takže jsem se rozhodl to upřesnit.