I think you're right Bruno (and nuan88 is as well).
I had written off the plugin because it doesn't fire any system events (it should create an OnFileDownload event and invoke it, imo). But it does have the ability to run other plugins that are similar to posthooks.
In those plugins, $modx->user should be the current user who downloaded the file. The ideal thing might be a custom table of filenames with 'filename' and 'id' fields. And a custom intersect table with two fields: 'internalKey' (the user ID) and 'fileId' (the ID of the file downloaded). That would give you the fast access to the files downloaded by each user as well as the users who downloaded each file.
A lower-tech way to do it would be to store the filenames downloaded by the user in an extended field of the user profile. That would be easier to implement, and in some ways, it's a better solution as long as you only want to see the names of a user's downloaded files and never need to see a list of users who have downloaded a particular file.
There's probably a MIGX solution as well, but I'll leave that to Bruno.