The ZMan:
Any idea if the 360 JIT looks at the platform?
It does not. The CLR on Xbox 360 will always JIT compile to PowerPC. :-)
The ZMan:
I have a bunch of helper assemblies which are not dependant on any XNA or .Net CF specific stuff. I was keeping things simple by not having dual win/360 projects for these assemblies. It seemed to work fine before by having them as AnyCpu
But to get rid of AnyCPU I had to switch those projects over to x86. In config manager I checked the box for them to be built even on the 360 config.
(Right now my 360 build isn't working so I can't try it but I though I would ask in case you knew)
I recommend that you create projects specifically for the target platform. The problem isn't the target platform, it is with the referenced assemblies. When you reference, say, "System" in an Xbox 360 game project, the compiler references a different file than it does when you reference "System" in a Windows game project. You can verify this by selecting the assembly reference in Solution Explorer and examining its Path property in the Properties Window.
If you compare an Xbox 360 project against a Windows project, you'll notice that the assembly versions are different for the BCL assemblies. System is version 3.0.0.0 on Xbox 360, but only version 2.0.0.0 on Windows. Another difference that you don't see is that the assemblies are signed with different keys.
Since the version and public key are part of the assembly's strong name, it means that on one platform, you are guaranteed to not have the right one available. There are some shenanigans going on in the CLR that allows substitutions to occur on some assemblies, but it's not guaranteed to stay that way forever (in future versions -- it won't change in this one).
You should avoid creating a bad habit of relying on this behavior, because it will be hard to figure out what went wrong if it fails for some reason in the future. In this version, for example, you could get a MissingMethodException if you accidentally call a method that isn't in the BCL on the other platform.