I really think you should use eCart. If we have to do a custom cart: "replace these buttons with my own buttons that cache product info"... that is exactly what eCart does.
Then you want to take all of the items in the cart and "eventually add to paypal's cart"... again handled by eCart
"Once the payment is done, I need to be returned to this site to set a bit in a Sales table for the user unique ID, and then send an email to them with links to the music they've purchased (PDF)."
Ecart has this built in too.... this is essentially everything ecart is designed to help you do. If we do this in premier support you will probably spend as much as you would purchasing eCart and doing it yourself and it would be a cleaner solution than what we would hack together using paypal standard buttons and IPN.