@clavaque - We agree that this would be a great addition.
@dottcom - We also encountered this problem with clients using Paypal standard. People would pay, then fail when they tried to register. When you have thousands of people renewing, many were using join by accident. This created a big headache trying to manually complete the registration for them.
We were able to create a solution, for now, with a little bit of custom code. When people try to join/renew, we first ask for their email BEFORE presenting a button. After we check to see if the email is in the database, we present them with the right button (Join or Renew) and a screen that shows their existing membership status, if any.
Our solution also solved the problem of people losing their login credentials, as they can renew without actually logging in.