Okie, I think somewhere during this process the upgrade script 'gained' \r. Windows tends to add that to what it thinks are text files. We do have a handler for that, which involved having some binary data at the top of the file, which tricks programs into thinking it is a binary file and not adding \r to the file.
However, it would appear that either Power Archiver or your FTP client ignored this directive and added \r.
You can check who it at fault, by getting an MD5 of the decompressed upgrade.php before uploading it. If the MD5 is not 82f110acd47c8656c385d4c7f8844649, it is 'Power Archiver' who it at fault.
The solution to your problem is to remove the \r, which are found inside the upgrade.php. You can do it with the following script:
<?php
$fp = fopen("file_name", "rb");
$file_data = fread($fp, filesize("file_name"));
fclose($fp);
$file_data = str_replace("\r", "", $file_data);
$fp = fopen("file_name", "wb");
fwrite($fp, $file_data);
fclose($fp);