連結内のnvarcharにすべての数値をキャストする必要があります。
文字列への暗黙的なVBAスタイルの変換はありません。 SQL Serverのデータ型の優先順位は、intがnvarcharよりも高いことを意味します。したがって、文字列全体がintにCASTしようとしています。
SET @SQL = 'SELECT ' + @GName + ' AS GrName ,' + @BR
+ CAST(@T_ID AS nvarchar(10)) + ' AS To_ID ,' ...
編集:ウィルAには良い点があります:NULLに注意してください!