I don't really know what would make Vegas think that your project is over 2 hours long. The only logical thing would be that there is a stray piece of media on the time line but I'm sure you have checked for that. This wouldn't explain why the last frame was being held for that duration. So I'm stumped.
I could however recommend that your project properties match your media ie 640 x 480 7.5 fps etc... A solution to get you round the problem might be to set a loop region from the beginning of the video to where you want it to stop. Make sure render loop region only box is ticked and then render to the format you want.
Hope this helps.