>However, if that was the case, inserting a random function into the code certain shouldn't fix the problem :P.
Inserting a random function into the code can affect the optimizer, which can mask the problem.
I recommend taking a look at the assembly file to see what's different between having and not having the extra function present, in the optimized code.
You can use the "-save-temps" to keep the assembly file around, and "-fverbose-asm" for extra blather.
HTH, --Eljay