I have read a few posts and SO questions about the meaning of 32-bit preferred flag. According to the MSDN post
The difference, then, between “Any CPU 32-bit preferred” and “x86” is only this: a .NET application compiled to x86 will fail to run on an ARM Windows system, but an “Any CPU 32-bit preferred” application will run successfully.
Thus, it seems that there is no reason not to use this flag.
Why would someone ever prefer not to use this flag ?