The bottom line here is ...
OK OK, let's be honest here. The bottom line is that I write software for a living, and that there are vastly more people willing to pay me vastly more money for writing Windows software than for writing Linux software.
Every now and then I do some Linux programming, but I insist that
(a) the Linux box has a network connection but no keyboard or screen
(b) I can use a decent text editor on Windows to do the actual work
(c) there's a BOFH ready to fix the Linux box for me each time it breaks (and on my current contract the Linux box on my desk breaks far more often than the Windows one - there's no way I'm letting Linux on any of my own machines unless I'm specifically paid to do so, in which case I'll buy a separate one for the purpose)
and most importantly of all
(d) if there's any suggestion that I might have to use vi I just walk, the client can look for someone else to do the job (this is a straightfoward quality-of-life issue, just like I refuse to work in London for example).
I find that if I explain this carefully and politely to the client we get along just fine
The XP machine is regularly infected with spyware and viruses (kids will be kids)
That one's easy. I just tell them not to download and install viruses and spyware, like I don't. Once upon a time they used to disobey me, so each time they got infected with something it took me twice as long to "get round to" sorting their machine out, and in the meantime of course it had to stay switched off. Once it got up to a month with no computer they got the message and have refrained from screwing up their machines ever since.