In wrote up an informative answer related to this recently here. The problem you find, seem not be with capture, which happens to some with camstudio (although I know can be solved fine tunning preferences and certain machine setup) while capturing, some which try to output vids in SWF not flv (not good idea unless is really short), and your case, the actual output of the avi. Is more related with the codec in which you are saving. You are not forced to use camstudio codec. You can do with other lossless codec other than camstudio codec. I know it produces those jumps while editing frame by frame in Virtual Dub or whichever.
That is, you can use camstudio, but select another video codec in preferences. The ones default in Windows Xp are not ideal for this. You can, also, if you have a huge hardrive and powerfulf or more or less machine, and is not files super long in minutes, to just edit in uncompressed, then compress to flv with ffmpeg(windows builds), riva encoder, etc. or as mp4 .h264 with Mediacoder. You say only free, a pitty because with Camtasia (but if you have an old full 3.x version from a magazine, well, that's a free route) it gets installed techsmith codec, but the full encoding abled version. (free one only decodes) . Visually lossless, wont produce those jumps, makes smaller files, is way smoother for editing. Besides Camtasia have probably the best performance, or close. As I said in that thread, you could also try Gregion.
For subtitles, well, for free not many options that I know, I used to go the hard way, and do my banners in a 2d editing package, and simply load them as overlays in VirtualDub, using Logo filter (or, original place, here), which one needs to find apart. And indeed, two are called so, only one called Logo 1.72b is the one that worked for me loading the overlay per range of time. Is not easy to use for this need. All this as there's not many multitrack free ditors.
One that is, is Wax. You could just mount your second track, and adjust opacities per time.
From the same developer, another free tool, called Wink, allows doing globes, etc, but is a different aproach, that may or may no work for you, and you might need extra export of frames, open in VirtualDub as frame sequence, export as AVI to the codec you want(or convert by the ffmpeg or mediacoder routes). But it might work for you.