Я думаю, что единственным потенциальным отрицательным побочным эффектом такого действия будет стоимость выделения памяти для параметров.
Поскольку вы вызываете «Prepare ()», я предполагаю, что вы планируете использовать SqlCommand несколько раз для одного и того же SqlConnection, который предлагает отдельный фрагмент кода, где он может использоваться (если соединение закрывается подготовленная команда, текст команды должен быть повторно передан на сервер при следующем использовании).
Если вы знаете природу своих параметров, похоже, у вас есть представление об их возможных размерах. Если нет, то я не вижу, какая у вас альтернатива на самом деле, чем объявлять достаточно большой размер для каждого - достаточно большой, чтобы вместить большинство / любые потенциальные значения.