In other modules (I won't name them because I really don't want to use them), there is the option for a trial period and what happens is, the transaction is sent to PayPal and they get the free trial period, but then periodic billing starts automatically after the end of the trial period. It is still a risk for us that they will set up the portal and then cancel the PayPal payment before the trial is over, but for most of our users, we feel they will just let the charge happen.
If we did it the way you suggested earlier, there is really no reason for someone to come back to our main site and do another transaction since their site will already exist. They won't even realize they need to go back and pay at that point.