Просто чтобы добавить к ответу kevchadders, когда вы вызываете PRINT @bodymsg, если он вообще ничего не печатает, то вы знаете, что это проблема с нулевым объединением.
Если обернуть каждую переменную, добавляемую в функцию ISNULL (), вам будет легче найти, какая переменная вызывает проблему.
например.
set @bodymsg = @bodymsg + ISNULL(@appnum,'')
Тогда тело письма будет напечатано, но пропущен параметр. Затем вам нужно выяснить, почему этот параметр отсутствует.