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: