Debe CAST todos los números a nvarchar en la concatenación.
No hay conversión implícita de estilo VBA a cadena. En SQL Server, la precedencia del tipo de datos significa que los ints son más altos que nvarchar:por lo que toda la cadena está tratando de CAST a int.
SET @SQL = 'SELECT ' + @GName + ' AS GrName ,' + @BR
+ CAST(@T_ID AS nvarchar(10)) + ' AS To_ID ,' ...
Editar:Will A tiene un buen punto:¡cuidado con los NULL!