I regularly capture 720x480i sources from an AJA LSe capture card to MPEG-2 4:2:2 all I-frame program stream mezzanine source files. I then use these for later transcoding. In instances where I need to concatenate two or more sources into a single file, I like to use AVISynth. Unfortunately all of my tests, with both AVISynth 2.5.6 and 2.5.8 RC2, have shown that the last frames of the source are not being flushed and thus I am left with transcodes that are shorter than they should be.
With 2.5.6, it was the last 7 frames from each source that were not flushed. With 2.5.8 RC2, it appears to be the last 6 frames that are not flushed. This is the case whether or not I try to source a single .mpg, or multiple .mpg's with either aligned or unaligned joins. I should also note that this issue does NOT happen when I am sourcing two 4:2:0 MPEG-2 files. I have tested this with MPEG-2 decoders from MainConcept, LibAVCodec, and LibMPEG2.
I have provided a couple of sample files for this case, although as I mentioned you should be able to replicate from just sourcing a single MPEG-2 I-frame 4:2:2 file. Any help/resolutions that could be provided would be greatly appreciated.