Evidenced by my statement regarding 64bit OS's for a start.
Also look at Crysis 2 - Four cores fully utilised - no more. Whys this?
We all know about intel and they're dodgy practices - Do I need to say more?
the Xbox 360 actually uses the triple-core IBM designed Xenon as its CPU
Right, so in the case of games-console ported software it would be logical that it was optimised for the fewer cores. What you're saying isn't evidence, it is a sweeping generalisation based upon observations from a few cases.
Multi-threaded code is difficult to write, it is hard to often difficult to predict the loads that each thread will cause. Furthermore, many large multi-threaded applications have _many_ more threads than cores at a given moment, but they may exist only transiently. Just because you have more threads does not mean they will fully load the processor(s).
Furthermore, look at Amdahl's law, the nature of many tasks in games are _not_ embarrassingly parallel - so you can make certain elements as parallel as possible but you will always inevitably have to wait for some sequential tasks to complete first (on a single core).
Threading also has an overhead (intra-thread communication, mutual exclusion, context switching), so adding a highly threaded implementation has performance costs - particularly for those with fewer cores because context switching is fairly expensive. So if you know that most of your market has 4 cores, and you are looking for ultimate performance (i.e. do as much with the resources you have), then it would make sense to subdivide appropriately.
Techniques for dynamic threading are improving, but this has to be offset by the cost of the mechanisms that implement the threading, the cost of spawning/destroying/managing threads.
It isn't as simple as you think, more threads does not automatically equal more overall performance.
I think you're looking for conspiracy where there isn't any, and unfortunately no matter what I say I suspect you'll be convinced otherwise. Just consider all of the factors that make it difficult: Amdahl's law, having to support multiple platforms (many of which have a guaranteed number of cores), overheads for implementing threading (especially dynamic threading), increased testing complexity, highest performance for the majority of users, ...
Really, I think Intel wouldn't artificially want developers to artificially limit parallelism, because they would be cutting off their own nose to spite their face in the long run.
hth