Where can I get Reflector?
It is a free download on Red Gate's site. You don't have to buy the Visual Studio integration. When it starts up you are asked for the version of .NET to use. I always select the latest version as .NET backwards compatibility is good. Of course this can be changed later.
How do you stop someone from decompiling your code with Reflector?
The truth is that you cannot stop a determined hacker from getting at your code. Your best option is to make it harder by using an obfuscation tool such as PreEmptive Dotfuscator, Red Gate SmartAssembly, Remotesoft Salamander, Xheo Code Protection, or one of the many other .NET obfuscators.
You should be aware that obfuscators can make your life more difficult. One way they make code harder to read in Reflector is through method renaming. This can result in the stack traces from the obfuscated code being out of sync with your code.
Can I use ELMAH with Windows apps?
Not easily. ELMAH relies on various features of ASP.NET to do a lot of it's work. Some people have make their own modifications, but it not something that a beginning developer might want to attempt.
I wrote a sample ages ago called BugBack that works for WinForms. It is old and in need of some love but it is a starting point. If you want an off the shelf solution you should look at Red Gate SmartAssembly.