Personally, I did only 5 races as a 5 and 10 as a 4. I don't consider myself to have a lot of natural talent, and I don't train particularly well, so I chalk it up to the mental game.
If you are finishing races, you are more than half way there. A couple of guys that I race with taught me a few things that really helped me when I started out. Always remember that you are most likely going to suffer a lot at the end of a race. Also, at the end of a race, keep trying to move up. If you are too far back when the race nears the end, you will be out of it before it is over. If you are in the field at the end, then you are strong enough to be at the front of the field. Positioning at the end of the race is probably 90% of doing well. The catch, of course, is that you have to be strong enough to move up at the end of the race when everyone else is trying to move up as well. Depending on the course, you will want to try to keep moving up for the last 4 or 5 laps all of the time. However, you probably never want to be closer to the front than 5th. Staying in the top 15 is usually my goal until the last lap when I try to get to 5th or so. You come out of the last corner in 5th and bury yourself all the way through the line. 9 times out of 10 you will at least maintain your spot.
Sorry if this is sort of rambling.
Also, don't be afraid of the one lap to go attack. Keep telling yourself that it will only hurt for a few minutes. You may get caught, but keep going. When I was a 4, I did this three times and I got 2nd, 3rd and 4th.
Remember, Jacky Durand said that 90% of breaks fail, but that 10% that work are worth the 90% that don't.