A couple of thoughts...
Jade, although the usability testing methods you list are all
perfectly valid and effective, they require fairly extensive direct
observations of end users and thus are not well-suited to the
kind of distributed, volunteer development that goes on here.
Heuristic usability testing is probably more practical.
On the topic of "Windows usability," while the point that OS
companies often don't do the right thing is well-taken, the fact of
the matter is that an interface convention that is well-known to
users has usability value, even if the design itself is bad. People
don't have to learn the convention because they've already
learned it. And, of course, the goal of HCI design is to minimize
the amount of cognitive work the user has to do in order to utilize
the software. So, while we certainly don't have to be slaves to
desktop UI conventions, we can't afford to throw them out either.
(I don't think anybody here is necessarily suggesting that we can,
but I want to make the statement just to be perfectly clear about
it.)