1) Concerning the project build options, I don't really get why one should select a compiler at the project level
This is definitely useful. It depends on what you are developing. If you develop using one compiler, but your targets are different editions of you software (or maybe app + plugins) you save yourself a lot of time for the setup.
On the other hand, if you develop and must be compatible to a range of compilers, each target using a different compiler is useful, too.
So this won't change as it is "by design". C::B also only adds flags automatically if you use the wizard
in the first place. If you don't like that, right-click on the wizard, select edit and switch off the flag generation.
2) When using several build targets / environments, it happens that it is not possible to change the compiler flags for a compiler that is not installed on the computer
I cannot reproduce. It works just fine here. Maybe you setup the target so that it is "Windows only"? In that case, just don't do it and you can change flags as you like. (I can.)
3) Apparently, when both MSVC2005 and MSVC2008 are installed, C::B does not make the difference
Again: I cannot reproduce. I have two targets: MSVC 2005 and MSVC 2008 and if I change flags for the one target the other is not affected. What exactly are you doing? Steps to reproduce, please?
Maybe you should start and read the manual first...?!