Microsoft maintains a document titled Devices and Platforms Supported by the .NET Compact Framework which outlines which OS releases the various versions of the .NET CF support and which version you can expect to find in each OS in ROM.
In general there is no right answer to your question.
As you can see from the table, excluding one or two edge cases (Smartphone 2003 etc) each release of the .NET Compact Framework will pretty much run on any Windows Mobile device you can throw at it.
This means the decision really comes down to the development productivity of using a later .NET CF version (LINQ, WCF etc), vs the potential difficulty of distributing and installing the required .NET CF runtime.
The decision of the feasability of installing the .NET CF runtime as part of your application installation process will depend upon your situation. For example in one cost sensitive corporate project I worked on we decided to use the version in ROM since deployments were done over the air and 10,000 devices x a couple of megabytes is a lot of additional bandwidth during app updates etc. Your situation probably has a different set of driving factors.