This is certainly a strange problem. So the assembly files created as part of your normal build process are different for the two builds. However, if you create preprocessed (.pp) files out of the two source files and then build them with the same options as used in your normal build process, then the assembly files generated are the same.
At this point, I can't explain why the .asm for build 1 is placing functions in a different order, when it is the exact same source and build options as build 2.
Are the SDD_Wkr.pp files generated within the two builds the same? Could you attach the SDD_Wkr.c and SDD_Wkr.pp files from the build 1 and build 2 directories as well? Not sure if it is going to lead anywhere but might be worth taking a look at.