That was just what I was looking for. The Payer id is definitely present in that URL. The code is setup to check for the token and payer id unless the session variable that holds the token is already set and has a value.
The only way that I can think of that would cause this would be if you are running back to back tests with Express Checkout without the session being cleared in between your tests. Do you have another browser you can make a test with? You should try this and/or make sure that you clear out the session of your browser completely before running another test of this. If the session variable for the token does not exists then the PayerID url parameter should be used in the code.
Please let us know what result you get when you test it like this, the only other thing that I can think of that would cause this would be if PayPal was not sending back a proper PayerID. You are testing this with a user other than the one with the Payments Pro account you are using rite?