VSE proxy showing wrong frames
I had a similar problem where I was using a screen-capturing device that output some strangely encoded mp4 files. Whenever I tried to edit these in Blender, I had the same troubles you describe.

I fixed the issue by converting these strange mp4 files to a standardized format that blender can easily recognize. Here is the python script that I used, but you must have ffmpeg installed for it to work. To use it, save the text into a file that ends with .py and place it in the folder where your video files are stored (and no other files) and run the script:

import os
import subprocess

for file in os.listdir(os.getcwd()):
    if not file.endswith('.py'):
        filepath = os.path.join(os.getcwd(), file)
        outpath = os.path.splitext(filepath)[0] + '.mp4'

        if filepath == outpath:
            outpath = os.path.splitext(filepath)[0] + '_converted.mp4'

        subprocess.call(['ffmpeg', '-i', file, outpath])


If this doesn't work, perhaps you can provide a sample video that I can play with so I can find a better solution and edit this answer.

One problem with this method is that you lose quality everytime you convert and compress a video. If you have the hard drive space, I recommend altering the script so it converts the files to RAW avi files instead, like this:

import os
import subprocess

for file in os.listdir(os.getcwd()):
    if not file.endswith('.py'):
        filepath = os.path.join(os.getcwd(), file)
        outpath = os.path.splitext(filepath)[0] + '.avi'

        if filepath == outpath:
            outpath = os.path.splitext(filepath)[0] + '_converted.avi'

        subprocess.call(['ffmpeg', '-i', file, '-c:v', 'rawvideo', outpath])


The added benefit would be that you would no longer need to make proxy files.