(I think you said these are valid for 48 hours?)
It depends on what you set the expiration date to.
He then sent us a new request file, but is failing to activate the product with the subsequent response.
You need to tell me exactly what the failure is. Is it a failure because all the activations for the product key have been used up? If so, then that's because they're trying to activate another computer. It's up to you whether you want to allow that or not.
Our currently doesn't output the exact status code returned by ActivateFromFile, but we will update it to do this
Ok, because the exact error codes are important.
In the meantime, does the expiry of the first response file now mean the licence cannot be used?
Nope. Just that that file is now useless. New activations requests on the same computer will be able to generate valid activation responses that can then be used to activate that computer.
Do we need to manually deactivate this key in the dashboard before processing a new request file?
Only if you want the customer to use a new computer (and maybe even keep the old computer activated).,