Those lines :
<MakeCommands>
<Build command="" />
<CompileFile command="" />
<Clean command="" />
<DistClean command="" />
<AskRebuildNeeded command="" />
<SilentBuild command=" > $(CMD_NULL)" />
</MakeCommands>
are not in my codeblocks_windows.cbp. Of course, they are not necessary.
More, the line :
<Option compiler="gnugcc_x64_compiler" />
is not in the standard CodeBlocks_wx32_64.cbp (it's simpy gcc, as in mine).
So, you have modified the provided cbp (automatically, intentionally or not, ... I don't know).
I think that <option compiler="gcc" /> line refer to the default compiler in C::B. So, if it is correctly set for 64 bits set (in my case gcc, g++ in C:\msys64\mingw64\bin) (or 32 bit set for 32 bit build), cbp should work as they are, without modifying them.
Nevertheless, I have found a small problem in my previous cbp : for exchndl, the path win64 was still hard coded. Here is a modified version which should be better for 32 bits only build.