I know this job market is terribly frustrating. I have a great deal of sympathy for what you're going through.
But I think you're missing an important part of the story.
The job market doesn't work the way we were taught when we were in school. Especially these days.
In the vast majority of cases, there is nothing that you can add to your resume that's going to get you job interviews. Resumes are an important part of the hiring decision, but they're down the list in the process.
Where I work, nobody gets a job interview based on a resume received in the mail. Filling out an SF-171 won't get you an interview either. That's simply a mountain of paperwork that doesn't open doors.
You get interest and interviews and job offers by networking, or by getting your foot in the door at an entry-level or trainee-level position. (Unless you're willing to dramatically change careers, trainee-level is probably out, so you've got to network.) Employers have to know you before they'll take a chance on you.
It's great that you're doing a web page for a friend's business, but that's not what I meant by volunteer. You need to be part of something that's like a job. You need to be part of a formal team. You need to show that you can meet deadlines, that you can work with others, that you can follow instructions, that you can think on your feet. Your work for your friend isn't going to tell a potential employer that you can do that work in a real-world environment that has stresses and deadlines. It won't tell them how efficient you are. It shows you're willing to help a friend, and it shows you will take the initiative to learn new skills. But that's not enough.
You need to treat your downtime as a job. Not just searching Craigslist and Monster, not reading language manuals, not sending out hundreds of resumes, but mostly getting out and meeting people who knows someone who knows someone who will help you find a job that you want to do. I know that family gets in the way, but you've got to do it. Supposedly, there are at least 6 people looking for every job opening. You've got to stand out as a person, not as a resume.
There's nothing wrong with coding in VB if that's your passion. If you're still interested in VB, connect (ideally in person) to a VB users meeting and work on a project with a group. If you want to move into C# or Java (but remember your experience and be careful about getting locked in again), connect to a users meeting, find a group project, etc. If you're already doing that - great. Keep it up, and network more.
You only need one job. You need to find out what you have a passion about and find someone out there who has the need for a person with that passion. That's how you'll get the interview.
If you don't know what you feel passionate about, or you feel that you just want to make a contribution and be treated with respect and earn a decent living but it doesn't matter much what the job is, well, in this job market, you're guaranteeing more weeks of frustration. Companies want to hire what they think are the best people, and that means a level of genuine enthusiasm. Companies that are hiring can have their pick. If a company just needs someone who is a middling performer, they can use an agency or even hire someone in Bangalore. You don't want to compete with them, do you?
If you were starting over, what would you be passionate about working on? Not as a hobby, or for relaxation, but what do you find stimulating intellectually? Find someone who works in that area and talk with them....
None of this is a magic bullet - it's still going to take work. But it gives you a leg up on everyone else out there who thinks that the resume is the key.
HTH a little. Hang in there.
Cheers,
Scott.