Their API specifies an email field, which we populate with the customers email if enabled or don't send it at all if disabled. What PayPal does from there is up to PayPal.
The PayPal sandbox testing environment and PayPal developer environment are completely separate. So logging into the developer area has no affect on username input caching on the testing environment. However, on live PayPal they business account and the user account all login exactly the same so the inputs can and will cache (if your browser is set to do so). This is especially the case if you use a browser extension like LastPass to remember your passwords as it does input name lookup for domains.
You can test that it's caching by making a test purchase from a computer that has never logged into PayPal, a different browser that has yet to login to PayPal, turn off password auto-filling in browser settings, or try using private mode for your browser.
We send the "business" input as specified by their API, which is the email address receiving payment. When then send the "email" input as specified by their API if enabled, which is the customers email address. You can find this information and more about PayPal standard payment API below.
developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/#id08A6HI0J0VU
Below is also a simple pre-population example.
www.paypal.com/cgi-bin/webscr?cmd=_pdn_xclick_prepopulate_outside
You can see what email CBSubs is sending to PayPal by right clicking the PayPal button in your basket and clicking Inspect Element. You can then review the form elements carefully and check their values.