MP4 upload ok, but HTTP500 if I update the file (multisite)

The multisite is using

ms-files.php?file=$2

to open uploaded files and at the end of ms-files.php you have

// If we made it this far, just serve the file
readfile( $file );

So opening a 500mb file could be too much for your php process.

You could try to increase the available memory footprint of your php processes.

Or host the file externally or try uploading it to Vimeo/Youtube.

ps: another way is to use the map feature of Nginx to bypass php, but that will not help you since you use Apache. There might be similar methods for Apache, but I’m not sure.

Edit: it looks like there is now a way to turn off ms-files.php according to this ticket:

http://core.trac.wordpress.org/ticket/19235

I found this post describing the steps:

Turn off ms-files.php after network setup