Мисля, че сравнявате ябълки и портокали и аз поне никога не съм виждал дискусии по този въпрос. Има дискусии за това дали изобщо трябва да използвате UDF и има дискусии за това дали трябва да използвате запомнени процедури или ad hoc SQL.
Вграденият UDF е нещо, което можете да използвате в заявка, а съхранената процедура е нещо, което можете да изпълните и повечето от вашите точки са следствие от тази разлика.
Вграденият UDF прилича повече на изглед, отколкото на съхранена процедура. Параметризиран изглед, който може да се използва в заявки и може да понякога се използва за ускоряване на нещата .
Много бих искал да видя сценарий, при който вграден UDF и съхранена процедура правят едно и също нещо и имат различна производителност.
Ако съхранената процедура никога не записва нищо, няма разлика в заключването.
Не знам за хората, но за мен всичко е свързано с дискусията за съхранена процедура срещу ad hoc sql. Предпочитам съхранени процедури, други предпочитат ad hoc. Ако искате вместо да използвате дефинирани от потребителя функции от процедурите, в крайна сметка попадате в ad hoc sql лагера.