It's important to be considerate to users of your applications. I've discussed in the past a very simple technique to detect if the application si running in a Terminal Services (aka Remote Desktop) session. Users appreciate it when certain aspects of the application gracefully degrade in such an environment. For instance, a splash screen could be replaced with a less-graphically-intensive one, sound effects might be reduced or eliminated, color schemes can be changed, animations eliminated, etc.
Though I've not investigated it previously, I've been interested knowing if an application is running within a virtualized environment (e.g. Virtual PC, et al). Today, I stumbled upon a nice link that illustrates a technique that has merit within the Microsoft virtual environments. It involves checking the manufacturer of the motherboard on the VPC. In a VPC it is identified as Microsoft. Unless MS decides to get into the motherboard industry this technique might last. I'm going to be testing this technique in the coming days to see how reliable it is and whether it also works in a Virtual Server environment. I don't believe that it will work in a VMWare virtual machine, but there are also techniques for testing therein as well.