But really you can only take a certain level of responsibility for other people's stupidity, obliviousness, lack of preparedness, etc. I think developers/publishers should go to a reasonable degree of effort to allow users to retrieve purchased licenses, but ideally it would avoid a large amount of personal effort, so that devs can spend more time on work that actually contributes to the product.
For inexpensive products in particular it's important to avoid increasing overhead, and if you have a single support person getting paid e.g. $20/hr and you're selling a product that costs $20, if someone inquires for a license with none of the info Carol mentions (email, password), say it takes 15 minutes to look them up manually by name and retrieve and send their info. That's $5. If they do it twice, $10. Now half your profits are gone, and who knows what your overhead already is on that $20 cost, maybe your profit is only $15 to begin with (say a percentage is taken by credit card processor, or sales partner, etc.).
To Steeladept, it makes a lot of sense that things have become easier for you now that you have a single web-based email address, and I think that's true for most people. There were a lot of historical problems like you mention with many different email addresses, but nowadays I think those are becoming a thing of the past, as it should be. So devs should not need to account for that, it's the user's responsibility to manage their emails, and it's getting easier and easier each day IMO.