Any ideas why adding the System Thread command at the top of the sketch would cause these issues when otherwise without that command everything compiles and runs just fine?
I think the issue stems from the #include <Particle.h> statement that’s inside the header file you are including.
Usually the preprocessor adds that include statement at the top of you code, when it’s not found, hence even if you write SYSTEM_THREAD(ENABLED) as top line in your .ino file that #include <Particle.h> will end up before it, but when you have Particle.h already there but after the “call” of the SYSTEM_THREAD() macro the compiler gets confused.
I think it's pretty much the same (maybe one/two extra clicks, but that will be stream lined).
And you can falsh via USB and most importantly build without internet connection.
But editing, refactoring, maintenance, debugging (to come) is just that much better.
I never was a Dev fan, but with Workbench I don't see any raison d'être for it anymore at all.