Теоретически, модульное тестирование (в общем) означает больше времени на предварительное написание тестов, но в дальнейшем должно облегчить вам задачу. Например, вложенное время приносит дивиденды позже, когда у вас есть возможность очень легко обнаружить ошибки регрессии. Запись в Википедии о модульном тестировании имеет хороший обзор общих преимуществ.
Будет ли это полезно для вас на практике - сложно ответить на вопрос - зависит от проекта.
Что касается «необходимости переписывать запрос для проверки результатов запроса», очевидно, это ничего не докажет. Я предполагаю, что вам нужно настроить тестовые данные, которые будут возвращать предсказуемый результат при выполнении запроса (или чего-либо еще), а затем проверять этот конкретный результат. Таким образом, вы проверяете запрос на соответствие своей ментальной модели, а не проверяете запрос на его копию.
Но да, похоже, это займет много времени на настройку - я могу себе представить, что подготовка теста хранимой процедуры SQL потребует гораздо большего количества настроек, чем ваш средний объектный тест .Net.