Wow, tough job market. During the .com bubble you probably could have gotten a 6 figure salary and stock options.
But don't give up, there is still a demand for good C# programmers. There's just more competition than there was a decade ago. If you have 8 yrs. experience in comp repair/help desk, that should put you well ahead of someone younger with just academics. (Assuming you have good references?)
You need to keep building your skills, of course. Not just from coursework, but on your own as well. Of the things you listed, I would focus on Data Access first. Databases are everywhere. Learn some SQL. Learn how to connect C# to SQL. That's a common need in lots and lots of C# apps (and not just web apps). Learn how to use LINQ. You HAVE to know LINQ.
Any work study options for you? Great way to get a foot in the door and pad the resume, but not an option for everyone.
You could consider trying to contribute to an open source C# project. Lots of them out there. It's less risky then trying to earn money from your skills (although...money can be a good thing). The worst that happens is you get some nasty peer review. Best case you have something to add to the resume. You'll have to do some Googling to find an open source project that fits your interests and your skill set, but there are a lot of them out there.
Have you had your Resume reviewed by anyone (who isn't a techie)? I've been on the hiring side in the past. You start with a big stack of resumes and you have to widdle it down to a small stack that gets interviews. You can't interview everyone. It's time consuming and tiring. Small things in a resume CAN make a difference. Spelling, grammar, layout, too much information, not enough information. When you are widdling, you sometimes make decisions based on small things. Techies/Programmers aren't always the best at spotting (or caring about) the small stuff in a resume. But it can matter. Get it right.
Best of luck.