Thank you all for your help. I was able to resolve the issue! I believe it was a combination of not turning off IDENTITY coupled with a syntax error that caused the problem. The following seems to work:
CREATE PROCEDURE dbo.SetID (@Tbl Nvarchar(60),@QryTxt Nvarchar(max))
AS
BEGIN
--Declare @MText nvarchar(max) = ' SET IDENTITY_INSERT ' + @Tbl + ' ON; ' + CHAR(13) + CHAR(10) + ' GO ' + CHAR(13) + CHAR(10) + @QryTxt + CHAR(13) + CHAR(10) + ' SELECT @@ROWCOUNT;'
Declare @MText nvarchar(max) = ' SET IDENTITY_INSERT ' + @Tbl + ' ON; ' + CHAR(13) + CHAR(10) + @QryTxt + CHAR(13) + CHAR(10) + ' SELECT @@ROWCOUNT;'
BEGIN TRY
EXEC(@MText)
EXEC(' SET IDENTITY_INSERT ' + @Tbl + ' OFF; ')
END TRY
BEGIN CATCH
EXEC ( @QryTxt + ' SELECT @@ROWCOUNT;')
END CATCH
END;
GO
dbo.SetID '[SKDataNPINew].dbo.[JobWIP]', 'INSERT INTO SKDataNPINew.dbo.[JobWIP] ( [JWip_ID], [JWip_JobNum], [JWip_ReleaseNum], [JWip_Note], [JWip_GLIDLink], [JWip_DateTimeStamp], [JWip_Date], [JWip_PostedBy], [JWip_SourceCode], [JWip_LaborCost], [JWip_LaborOH], [JWip_MatlCost], [JWip_Subcontract], [JWip_Hrs] ) SELECT OLDname.[JWip_ID], OLDname.[JWip_JobNum], OLDname.[JWip_ReleaseNum], OLDname.[JWip_Note], OLDname.[JWip_GLIDLink], OLDname.[JWip_DateTimeStamp], OLDname.[JWip_Date], OLDname.[JWip_PostedBy], OLDname.[JWip_SourceCode], OLDname.[JWip_LaborCost], OLDname.[JWip_LaborOH], OLDname.[JWip_MatlCost], OLDname.[JWip_Subcontract], OLDname.[JWip_Hrs] FROM SKDataNPI.dbo.[JobWIP] OLDname LEFT JOIN SKDataNPINew.dbo.[JobWIP] ON (OLDname.JWip_ID = SKDataNPINew.dbo.[JobWIP].JWip_ID) WHERE SKDataNPINew.dbo.[JobWIP].JWip_ID IS NULL;'