Video converted by FFMPEG has a different duration, why?
Hope this explanation is what you're looking for:


When you transcode to an encoding such as H.264 (MPEG-4 part 10) you necessarily also resample the video, that's part of H.264 compression technique. Nontheless, I doubt if this is the reason you experience a timing gap since the resampling doesn't necessarily influence the clock rate of the media. So, I wouldn't worry too much about resampling, it can cause some variance, but probably very marginal.
The container formats you listed are kinda irrelevant, because they define how the compressed stream is packaged, whereas the the source of the timing difference is the compression itself. The .flv file, for example, may contain a stream encoded by the legacy Flash Sorenson codec or the newer H.264. In the first case you would be transcoding the video stream, but in the latter it is possible the you're not - depending on the audio codec used. The .avi and .wmv containers are codec agnostic, so there's no way of even guessing their content's encoding.
You didn't mention how the duration was tested. Note that ffmpeg by default shows you the duration that appears in the file's metadata and not a computed value. If your list is based on the data that ffmpeg dumps as part of its splash notices then you should note that this is explicitly metadata and not an actual measured value.
The delta in the durations you presented are within the range of one or two frames in a 25 or 30 fps range. It is reasonable for codecs to pad-with or strip-from streams blank frames according to their algorithm (or developer's tidiness...). It shouldn't influence timestamping when you properly concatenate streams.
There are only two reasons I can think of that can substantially change your media's duration, neither applicable in your specific case:


Re-encoding at a different target speed. Sometimes this happens unintentionally due to bad metadata in the input file. But not in your case, which, as noted above, correspond with a single frame dropped or gained.
When you apply a codec that recreates either stream. Examples include ad-stripping, silence detection, noise cleansing, etc.



Bottom line, if you are concerned what's gonna happen with a 10-hour video - just run an actual test. If you run into trouble and seek assistance then keep in mind to post the input file's codec details and the method that you measured the stream duration.

Hope this helps.