Here's a fix for this little nightmare:

In the install pages (/catalog/install/templates/pages/)

install_2.php & install_3.php & install_5.php

you see:

Code:
$script_filename = getenv('PATH_TRANSLATED');
change to:

Code:
$script_filename = realpath($_SERVER['PHP_SELF']);

In install_5.php also change:

Code:
for ($i=0, $n=sizeof($dir_fs_www_root_array)-1; $i<$n; $i++) {
to

Code:
for ($i=0, $n=sizeof($dir_fs_www_root_array)-2; $i<$n; $i++) {
AND in install_7.php change this:

Code:
$dir_fs_document_root = $HTTP_POST_VARS['DIR_FS_DOCUMENT_ROOT'];
  if ((substr($dir_fs_document_root, -2) != '/') && (substr($dir_fs_document_root, -2) != '/')) {
    $where = strrpos($dir_fs_document_root, '\\');
    if (is_string($where) && !$where) {
      $dir_fs_document_root .= '/';
    } else {
      $dir_fs_document_root .= '\\';
    }
  }
to this:

Code:
$script_filename = realpath($_SERVER['PHP_SELF']);
  if (empty($script_filename)) {
    $script_filename = getenv('SCRIPT_FILENAME');
  }

  $script_filename = str_replace('\\', '/', $script_filename);
  $script_filename = str_replace('//', '/', $script_filename);

  $dir_fs_www_root_array = explode('/', dirname($script_filename));
  $dir_fs_www_root = array();
  for ($i=0, $n=sizeof($dir_fs_www_root_array)-1; $i<$n; $i++) {
    $dir_fs_www_root[] = $dir_fs_www_root_array[$i];
  }
  $dir_fs_document_root = implode('/', $dir_fs_www_root) . '/';
Hopefully this solves the install issues based on improper ENV values. This is based on testing with:

Apache 1.3.xx
PHP 4.3.2
MySQL 3.xx
RedHat 7.3 (Using Ensim 3.1 virtual hosting)