Unless there is a specific reason to do otherwise, I always use native code (specifically Delphi) for client side development. Reasons include, but are not limited to:
Faster start up time (no jitting or .Net startup time). This is especially visible when running client applications.
Lower memory usage. Apparent in an empty application, and even more so in something more functional.
Better UI performance (VCL vs Winforms) and specific support for Vista/Windows 7 themes and APIs and even support for gestures in Windows 7, if you like that sort of thing.
Does not require an additional framework. This is the biggie. The actual requirements for version 2.0 and 3.5 the .Net framework are higher than the 20-60 MB that you suggest. And, unless you limit your applications to features available in an earlier version of the framework, users will need to make sure they have the latest one installed. Even Vista and Windows 7 won't have .Net 4.0 installed by default, which is due out shortly. I prefer having the option to do an XCopy install with few if any dependencies.
The "time to market" argument applies equally well here. Delphi has an extremely productive development environment, from the productivity tools in the IDE to a blindingly fast compiler. This, along with the lack of deployment dependencies makes the development/test/release cycle very smooth.
You might be surprised how many other developers are using Delphi for exactly the same thing. Here is an incomplete, but impressive list. Embarcadero is featuring some of these in a slightly flashier showcase.
Answering your third point - Delphi is a RAD environment that still lets you get at the low level details, even supporting inline assembler.
There are lots of other reasons why I prefer Delphi, but I'm limiting my list to things that I think are relevant to the question.
I'm not intending to bash .Net. I like C# and Visual Studio is a great IDE in its own right with lots of productivity tools. I just think that .Net is better for server side (e.g. ASP.Net) and long running applications where startup times and jitting are less of an issue and it's easier to manage the .Net installs on a few servers than on each and every client PC.
And, if someone wanted to use .Net but craves the Delphi (Object Pascal) language, there is always Delphi Prism, which is included as part of RAD Studio.
Update:
The first line of my response makes it sound like I only prefer Delphi for client applications. It's actually my first choice for all development, with the exception of ASP.Net, which can also be a good excuse to use Delphi Prism.
Update2:
Some more details on the hardware requirements now that .Net 4.0 has been released. The minimum disk space requirements seem a little steep:
.Net 2.0 - x86: 280MB x64: 610MB
.Net 3.5 - x86: 280MB x64: 610MB
.Net 4.0 client- x86: 600MB x64: 1.5GB
.Net 4.0 - x86: 850MB x64: 2GB