If you are trying to load a real php file (ie, your somefile.php is an actual file on the filesystem in the DocumentRoot, it should load with no problems because of conditions that should exist above the rules you showed (as they exist in htaccess.dist):
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
The '-f' is a condition that says 'if this is this a file', and the '-d' says 'if this is a directory'. The combination of these conditions and rule says 'if this is a file, OR if this is a directory, pass through with no changes and exit rewriting. That is why you can load some files directly, with no rewriting, like /wp-includes/js/autosave.js.
The rules you asked about are to clean up paths to WP files. For exmple, the first rule will rewrite http://yourblog.com/nonexistentpath/wp-signup.php to http://yourblog.com/wp-signup.php.
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
Your URL is being rewritten by the second rule, because I assume that your somefile.php does not exist on the file system. It is being rewritten from http://www.mysite.com/ext/www.external.com/somefile.php to http://www.mysite.com/somefile.php. I would think that should throw a 404, not a 500.
It's important to understand that mod_rewrite does not do redirection (in these cases), it does internal rewriting. If the user visits a URL that is re-written, they will still see the original url in their browser bar. Permalinks is the best example. http://yourblog.com/hello-world/ is actually http://yourblog.com/index.php?p=1
The regular expressions used in these rules is too much to explain here. There is a good primer on the Apache website.
I would definitely NOT remove these rules. You should be able to work around them.