Possibly the ERRORABEND / NOERRORABEND condition may be the cause for different behavior? It would be best to share SAS log output with source code revealed for a proper diagnosis, after you have determined that the SAS behavior is different based on the two instances - check your PROC OPTIONS; settings for differences, possibly.
"When I run the job via an %include from another job...' Does that mean you deploy the job and then in another job you're having a %include on the deployed job? If so: this wouldn't be the way you should do it in DI. Better use a loop control and embed the first job as inner object.
You have to look at the code/log to see what's going wrong. One reason could be that you use the %include statement within a macro and so all macro vars created by the pre-processing step of the included job outside of a macro are "suddenly" defined inside of a macro - they would become local instead of global (and that's one of many reasons why you should do things the DI way before writing user written code).