Technical reasons aside, one of the prime factors that you should consider in choosing one platform over another is what is right for your company. If you have a strong tradition as a user of Microsoft tools and products and do not see Linux or Sun platforms in the future, then moving to the CLR makes sense. If you need your application to run on many different platforms that Microsoft does not support yet and you are committed to the managed view, then your choice is somewhat more complex and Java should be considered. It is hardly the hard and fast rule that you were looking for, but do what is best for your company.
Investing in the JVM and Java certainly leverages the platform ...