solution if db not found in master
in our case the reason for not getting past step 3 was different to the above in that the existing database could not be found in the master catalog (we asked our provider why that is and don't yet know the reason);

if anyone has the same problem, and needs to get around it in a hurry, below what worked for us;
some error checking has been dropped, so it is entirely down to the user to ensure upfront that the connection information is correct

the following steps assume all has been uploaded to the host server any the necessary privileges & app setup are in place

1. ensure
    - your ConnectionStrings.config file is exactly as was when first downloaded
    - empty database exists

2. copy/paste code at bottom into the install.aspx file to replace all code before the <body> tag (there's more imports than needed, but we didn't spend time to see which ones can be dropped)

3. replace "your..." in "conString" with your connection information
   !! important to get all the information 100% right !!

4. change OnNextButtonClick="OnNextButtonClick" further down in the <body> section to OnNextButtonClick="OnNextButtonClick2" (this ensures the altered code, skipping the db check, is executed)

5. save & run new install.aspx; just keep on pressing next, no need to enter anything (would be ignored anyway)
   if you want sample data, tick the checkbox in step 3
   clicking 'next' in step 3 it should take a little longer, as the database/sample data is created

6. copy following string into your ConnectionStrings.config file, change "your..." details to match step 3

    <add name="NopSqlConnection" connectionString="Data Source=yourservername; Initial Catalog=yourdbname; Integrated Security=False; Persist Security Info=False;User ID=youruserid; Password=yourpassword; Connect Timeout=120"/>

7. that should be it, just access your store path

-----------------------
code for step 1:

<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Collections" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ Import Namespace="System.Configuration" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Security" %>
<%@ Import Namespace="System.Security.AccessControl" %>
<%@ Import Namespace="System.Security.Principal" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.Configuration" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Web.UI" %>
<%@ Import Namespace="System.Web.UI.HtmlControls" %>
<%@ Import Namespace="System.Web.UI.WebControls" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="Microsoft.Practices.EnterpriseLibrary.Data" %>
<%@ Import Namespace="NopSolutions.NopCommerce.BusinessLogic.Configuration" %>
<%@ Import Namespace="NopSolutions.NopCommerce.BusinessLogic.Installation" %>
<%@ Import Namespace="NopSolutions.NopCommerce.Common.Utils" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<!-- %@ Page Language="C#" Inherits="NopSolutions.NopCommerce.Web.Install.InstallPage" Theme="Install" CodeBehind="install.aspx.cs" % -->

<%@ Page Language="C#" Inherits="NopSolutions.NopCommerce.Web.Install.InstallPage" Theme="Install" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">
    <title>nopCommerce installation</title>
<SCRIPT language="cs" runat="server">

  
void OnNextButtonClick2(object sender, WizardNavigationEventArgs e)
{
  
  string newVersion = "1.40";

  string conString = InstallerHelper.CreateConnectionString(this.radWindowsAuthentication.Checked, "yourservername", "yourdbname", "youruserid", "yourpassword", 120);


  if (this.wzdInstaller.ActiveStepIndex == this.wzdInstaller.WizardSteps.IndexOf(this.stpDatabase))
        {
    bool createSampleData = chkCreateSampleData.Checked;
    if (!installDatabase (conString, createSampleData))
          {
            handleError("An error occured during the database setup  " + conString);
    }


    string setCurrentVersionError = InstallerHelper.SetCurrentVersion(conString, newVersion);
                if (!String.IsNullOrEmpty(setCurrentVersionError))
                {
                    this.pnlLog.Visible = true;
                    addResult(string.Format("An error occured during setting new version: {0}", setCurrentVersionError));
                }
        }
}

</SCRIPT>  
</head>