Keep in mind that for a while now IT careers have been the hot field so a lot of people have gone into it to study. When you got your job 11 years ago that was not really the case so employers can now be picky as to who they hire. I know many of my friends complain that they've gotten jobs that don't pay what they were expecting and that's basically because there's more supply than demand for those possitions.
I know for a fact that if I'm hiring for a full-time position I would look for a programmer that has a CS degree. My advice to you is to get some kind of degree while you're looking for a job so at least you can show it in the future.
I also suggest to you that you start working on your professional contacts and create a network of people that understand what your skills are and let them know that you're looking for a job. If people understand your skills they're more likely to hire you or recommend you to an employer.
Also, keep this in mind, people are more likely to hire people that look like themselves so when you go into these interviews make sure you don't stand out. Make sure that from the start they feel that you are part of the team.
You should also look into going to mock interviews so that your interviewers can let you know what they thought you did well and what you did bad.
Unless your speech is horrible then speech therapy classes will do little for you.