I don't think I actually said that GUIs should be replaced or dumbed down in favor of the CLI (if that is the case, then it's not what I've been trying to point out, believe me). I said they shouldn't drop it, that's all. Using GUIs myself most of the time, I don't know that I'd do without them. I still do like to manage stuff on the CLI. Is it how it should be done by everybody? No, since as it's been pointed out many times, there's a certain paranoia about it.
About dependencies, no, you cannot determine which dependencies each user has. This is why package managers exists - to pull down the necessary dependencies. And yes, it is possible to have more than one version of the same library installed on the same system. How the API changes across versions and how fast the changes are implemented, that depends of the library you use. But should you use any, keeping up with the APIs is a necessity. Don't like the libraries? Well build your own, nothing stops you from doing it. To package the program well is both the job of the developer and the package maintainer. If you don't like that whole system, well, have the dependencies bundled within your application and distribute it that way (I know Firefox, songbird, Flash and Skype who does it that way). Is it more complicated? Well, with my experience I'd say it has been easier for me to setup all my stuff using the same centralized service. Developer-side, I have access to way more libraries "out-of-the-box" than I'd have with Windows if I have do develop stuff. Is it the case of all developers, however? Probably not. But which system is better? It depends what you're working with. A bad system in itself? I don't believe so.
I'm not quite sure everybody can use Window's updater (enlighten me if I'm wrong here). I think that the Microsoft Update service is available to only Microsoft and some others who have the right to distribute updates on it (I sometimes saw some peripheral drivers popping in). I'd be really surprised to see Firefox come up in MS Update

. But is Windows' update mechanism itself available to all applications? It would sure help clean up all these updaters.
There's something I's like to point out too. When you buy a computer from your everyday computer store, they are not designed nor built to support OSes other than Windows. So of course, there's a risk that the hardware on it could not work. That situation is nearly absent if you buy a Mac, because they control the hardware their OS runs on. So it's practically impossible to buy a Mac that doesn't work out of the box. But ask for a computer setup that has hardware known to work on Linux? Unless you choose the parts yourself, good luck. And that is a problem. And it's not like there's no hardware out there that is supported by the operating system itself.
Speaking of Skype, I stopped using it recently so switch to Ekiga and a real phone. I don't know what happened at Skype, but they literally left the program without any updates, not even bugfixes, for about a year and a half. I don't know how many people are working on the Linux version of the client or how they do their development, but they certainly did not managed it very well. And on any program, especially if you pay for the service, you expect the company to deliver the goods. And Skype simply didn't. They also ended up on a pretty bad time to let the app dead. Pulseaudio seemed to make their stuff crash on some distros. Was it the fault of the distribution or Skype? Difficult to say (I certainly would have waited more before integrating the Pulseaudio technology into distributions), but they didn't seem to put effort to work with the community either. As for myself, running on a 64bit system, I had to use 32bit versions of the alsa libraries, which worked, but what annoyed me was the apparent lack of interest from Skype to pull up their sleeves (which, I think, they finally done now). It worked, but for what I paid for, I got less than the Windows or Mac counterparts. That drew may away from the service. What I did? Went up with a service using the SIP protocol and chose the programs and hardware myself. Works perfectly well, I can communicate with everybody, and have all the features I need regardless of the operating system I use. Did I ask anybody to make their software open? Did I need to contact support to setup my stuff? No.
I run a couple of commercial programs on my GNU/Linux box. Flash, the Nvidia driver and VP UML (which I no longer use, because I didn't quite like the way it worked regardless of the OS). I also use to run Adobe Reader, which also worked (but I had a better equivalent). Nvidia drivers runs flawlessly, and while I won't brag about the performances of Flash, it also works. When I was using Ubuntu, I got Wine working and played some of my games with it, but when you have a Windows partition for that matter, well, no need to duplicate the environment

. I also need the Windows platform to test if my stuff works on both OSes. The point is, it is possible to make good cross-platform software. Whether it's a library or a program. Webkit, for example, is being used by Apple, Google, KDE and other applications related to the Web. OpenGL is used by ID software (and our very own SCP), and they make pretty decent games. More recently, World Of Goo was released on the Wii and PC on Windows/Mac/Linux.
Is commercial support lacking? Sure, there's no denying for that. Having the Adobe's creative suite run on Linux would sure be a blast. Having more games developed on it? Anytime. Having more 3D modeling tools, better drivers, better support, of course! But that thing doesn't come with magic, and certainly not by leaving the boat and continuously hammering on the assumption that developing on the GNU/Linux platform is impossible. People complain there's no commercial support of any sort, but it seems way easier to point fingers at the OS itself instead of making efforts. Is it easy to do such a leap? Heck no. It can be freaking hard. Especially if what you previously develop relies on libraries that are not cross-platform and that you don't have the expertise to do such a thing. But the community itself cannot do it all by itself. And I certainly won't blame it or the distributions whatsoever for the generalized lack of commercial support. Are the distributions flawless? Neither. But there is a need for cooperation between the two, and I don't think it's happening very much.
And finally, I can work indefinitely on my GNU/Linux install as long as I maintain it the right way. Just like I can on Windows XP.