Confirmed my board URL in the ACP (no trailing slash). Confirmed IPN notification URL in PayPal. Looking at my IPN history in PayPal, I see that the most recent transaction hit an "HTTP response code 500" and is being re-tried. Checked the ACP server error log, but nothing related to this. The payment was received, but the account wasn't auto-upgraded.
Check the xf_user_upgrade_log table. Is there any record of the transaction? The record may contain a specific error message if there was a problem. If there is no record of the transaction then make sure the payment completed (in your paypal account). Also check these things:
1) Make sure your board URL is correct:
Admin CP -> Home -> Options -> Basic Board Information -> Board URL
2) Note that the paypal callbacks don't work if your forum is behind a htaccess login.
Or it's possible Paypal simply failed to send the callback. That happens sometimes in which case you can manually upgrade the user in the Admin CP.