To set the frame size to 1280 x 960 you need to ensure the bytes in the file are set to the following:
I just tried with your broken SER file and it fixed the file.
Yes, editing the header would be simple and would fix the files. You just need a hex editor. I can tell you the bytes you need to edit if you wish.
I checked out your cropped and non-cropped files and they are exactly the same size (36,001KB).
The header of the cropped SER file claims that the frame size is 640 x 480, but the frame data is clearly not actually cropped and is actually the full frame data (1280 x 960). This will be why no software is able to play it.