When I click the "Complete Certificate Request" link in IIS 7, I get this error:
Cannot find the certificate request that is associated with this certificate file. A certificate request must be completed on the computer where the request was created.
However, when I open the "Certificates" MMC console, I can see my certificate listed but it doesn't have a little key over the icon. I presume this means it has no private key, is this correct? How can I correct this?
Is the certificate you're trying to import in .cer or .pfx format? If it is in .cer format, then it is an answer to a Certificate Signing Request (CSR), and it should be imported on the server where the CSR was created, in order to correctly create the key pair; failing this, you'll end up with a certificate without a private key (which is exactly what is happening).
Where did you create the certificate request? On this server on or another? Where exactly is the "Complete Certificate Request" link you're clicking?
If this indeed is the server where you created the CSR, and you're correctly asking IIS to complete it, then you could have hit this bug: http://support.microsoft.com/kb/959216.
I ended up getting a refund and revoking my certificate, and purchased another one from a different CA. The new certificate worked perfectly the first time, that's the last time I buy a cert from the first company.