My need is similar - I would like to file to be downloaded only once. quickfile.module implements such a method that upon completing the download, the download count is decreased, until it becomes 0.
Another issue is anonymous download. I would like once a file purchase was made, that a link will be sent to the user in email, and the user will be able to download the file without logging in (again, see quickfile.module).
I am a coder, but have never looked into coding into ubercart. How deep of a change would that be? How do you estimate the complexity?