It will require some special programming to implement this in any case. However, for programming, it will be easier to generate serials for purchase, than for download.
Chris, is not it better to make serials generated by request (for example, user has the following links on membership info page: Get Serial for Product #1 Get Serial for Product #2 etc. ) When user clicks a link, script will check if serial generated for this customer and display it. If not, it will generate new serial, save into customer account records, and display. Or there can be just one page with all serials available for a customer.