No hard feelings. Text is a poor medium to convey tone, and misunderstandings happen. It seems as though you're unnecessarily hard on yourself, and I hope that improves as time goes on.
What you're describing in interviews (penalizing slower coders, even though they'll eventually get the right answer) has been discussed a lot on HN recently.
The consensus seems to be this: a lot of companies do code tests, and they do care about speed, but those companies are wrong. It's not a good way of testing someone's usefulness as an employee.
That said, there definitely are companies who do not hire this way.
As you spend more time coding on your own, rather than fixing bugs, you'll get faster, and these tests will no longer be an obstacle. Eventually, your resume will be good enough that the tests won't be necessary.
If you think you're at a dead end, or you've made mistakes you can't fix, I know how you feel. I've been there several times. And things ended up working out so well that I looked back and wondered how I could have felt so little hope.
The same will happen for you, but it does require work. That might include coding in your spare time, going to networking events, asking your friends for tips on job openings, applying to more than 100 companies, or even a drastic career change. But all those activities I mentioned do pay off.
Best of luck. It sounds like you're smart and have a lot going for you.