I once ran into this and was fortunate enough to have lots of time to research the problem.
MPEG2 has this unusual feature in that the video stream is, effectively, variable frame rate. There is no fixed rate at all; instead you get a bunch of so-called presentation timestamps - one for each frame, in fact. The audio stream also has them. Hardware and software that plays MPEG2 streams must know how to use these to sync up audio, and they do.
When you import such a stream into a video editing software, it would usually make certain assumptions about the frame rate, because things are already complicated enough even with a constant framerate. Most of the time the video is actually timestamped at regular intervals throughout the entire stream, so the assumption doesn't cause audio desync.
However, if you have noisy analogue splices in the original video you captured, the presentation timestamps produced by a capture card might have large jumps in them. Conventional players recover trivially by using the timestamps to realign the audio straight away. I haven't, however, yet seen any video editing packages that do this out of the box.
I'm not aware of any existing scripts for fixing this in Premiere, but I've seen one that makes use of Avisynth. I could try digging it up if anyone cares.
Thank you very much for your response. I've posted this question (or, variations of it) multiple times before and so far, you're the only one that really seems to understand what's going on here.
I think you hit the nail on the head with the variable FRAME rate "feature" of mpeg2 and this makes the most sense to me. The only thing I am still stumped on is, does this variable frame rate mean that every time I PLAY the FILE, the frame rate is never the same at any given point? I could understand variable frame rate DURING the capture process...as compression methods, computer processing power, and how much "action" is going on in the video would produce a varying frame rate, but, after it's already captured? After the file is already created? THAT doesn't make sense to me...but if that is the case, then it does explain why every time I re-sync the audio, I come back later and it's out of sync again (i.e. the varying frame rate changed within that time and slowed/quickened the video, making the audio out of sync). The only question remaining is, how do I fix it?
This is quite frustrating... Is MPEG2 not a safe format? I mean, I would assume avchd is a clunkier mess of a format than mpeg2 but I have zero problems editing that (regardless of the fact that cs5 is optimized for it...).
What kind of audio hardware are you working with? As sometimes if the sample rate of the hardware can differ very slightly from the project and cause an eventual desync. If you haven't changed or altered your audio hardware since it was working ok then there shouldn't be a problem though, unless this project has an unusual audio samplerate.