Você precisa CAST todos os números para nvarchar na concatenação.
Não há conversão implícita de estilo VBA para string. No SQL Server, a precedência do tipo de dados significa que os ints são maiores que nvarchar:portanto, toda a string está tentando ser CAST para int.
SET @SQL = 'SELECT ' + @GName + ' AS GrName ,' + @BR
+ CAST(@T_ID AS nvarchar(10)) + ' AS To_ID ,' ...
Edit:Will A tem um bom ponto:observe os NULLs!