I am trying to overlay some images onto a video at certain times. When I watch the preview the images are showing up at the right time, but after rendering the images are appearing before they are supposed to. There is still a pause between images being shown, but they start to appear too early. It gets worse as the video goes on. Is there a way to sync up the images to the timeline? I'm trying to avoid offsetting the images in the timeline to account for the offset during rendering.
Too bad you have spent all this time on something that blender is not good at.
Here's the issue: the framerate reported is a non standard one (let me guess, the video file is a recording of some game or online video, or video from an android phone).
Some software recorders put out a variable framerate to make the file smaller and not to choke the computer for other apps.
But blender cannot deal with video files created like that correctly, as it needs each frame at the same timebase (framerate).
You would need to transcode the video into a stable framerate that matches that of your desired output so that blender can deal with it correctly.
It is not popular in this site when someone says that the VSE in blender is not a robust tool, but what you are experiencing is the result of that.
So you have two choices: conform your video to a single stable framerate, or use a different video app that can handle your file as is.