1) The file was grabbed and encoded from a specific source, but the framerate was incorrectly selected (E.G. The source was PAL 25fps and the encoder selected a NTSC 29.97 fps output without performing pulldown.)
2) Sometimes the audio and video streams appear to be out of sync, when video is to complex for the pc to process in real time. Outcome: the pc takes some time to render the frames, giving an output fps slower than it should. Audio, which is much easier to decompress plays at real speed and therefore appears to be "early" in comparison to the video. But this problem should most commonly appear when using mpeg-4 files, which are more cpu-demanding, not with mpeg or mpeg-2 files.
3) Damaged stream headers could cause desync. That could be an outcome of a bad download.
Solutions:
1) If the video or audio stream frequency is wrong, they can be adjusted using Virtual Dub. If you wanna avoid any sound pitch alteration, I suggest changing the video framerate (desired fps = available video frames / audio stream length in seconds). Virtual dub can also change audio frequency without altering the pitch.
2) Get a newer CPU, or download lighter codecs (ffdshow ffdshow 2004.10.12 is the lightest I have ever used, giving the lowest cpu consumption)
3) Virtual Dub can fix this problem, simply by loading the file, and saving it using "direct stream copy option".
As to your question about converitng files to .mpg: After a lot of searching and headaching, "Aare AVI to VCD DVD SVCD MPEG Converter" was the only prog I found that satisfied me. Unfortunatelly it is not a freeware prog, you will have to "try and buy" it.

You could also use adobe premiere with certain plugins to enable .mpg output, using Morgan MJPEG v3 codec.
But if the programs you are using accept .mpg, they most probably accept .m2v also. In that case, any demuxer would do the job (even DVD Decrypter can demux the streams when in IFO mode)
Edit: The last paragraph was not neccessary: I just saw that this question has been answered, sorry.