Webform protected downloads is an extension to the webform module, which turns a webform submission into a key which unlocks protected attachments through a hash emailed to the submitter. The hash can be set to have an expiry time, in seconds from the email being sent; a zero expiry time means “never expire”.
However, zero expiry times are treated slightly incorrectly by the module’s internals. The first problem, Dave posted a patch for in late March: zero times were treated as immediately expiring. The second, I just posted a new patch for: zero times were going into the database as zero just fine, but then the cronjob was deleting them, as if ”0” meant “1 January 1970”! Hopefully this fix will get submitted to the next release of WPD.