You have a unique situation in that you want to target many mainstream products but also a legacy product. I see you have two main options.
Portable Class Library (PCL)
Ideally you would want to create a Portable Class Library (PCL). A PCL allows you to target many different platforms with one project. So in your example you would only need one Mobiltec.Framework project and it could be used across multiple platforms. This is still an option for you for the majority of the platforms that you want to support. PCLs are great provided they support what you need. PCLs do not allow for everything but you can get around those limitations with other PCLs, building your own representation of an object, or through dependency injection.
Multiple projects targeting different platforms
With this option you would add one csproj to your solution for each platform that you want to support (You can avoid the problem with build location of assemblies by editing the project properties. On the build tab you can specify the location of the built assembly. Set this to be platform specific). In your example you would have a Mobiltec.Framework that targets Silverlight, one that targets .Net3.5, one that targets Windows Phone, etc. Name each project file something different (eg: Mobiltec.Framework, Mobiltec.Framework.Silverlight, etc.) but keep the assembly name the same (application tab of the project properties).
Each project would make use of the same files by adding them as links. This allows you to make a change in one file but have it effect every project. These projects give you full support of the platform you are targeting but not everything is the same across platforms. You'll find yourself having to #if statements within your code files
public void Foo()
{
#if SILVERLIGHT
// do something
#else
// do something else
#endif
}
Both approaches have great benefits and great drawbacks. Ideally you would be able to have a PCL library for all of the newer platforms and one project that targets Windows Mobile. If you cannot achieve this (your newer projects require stuff that is not available) then the second approach is still a great approach. No need for code duplication in either case.