when you use the URLCONTROL versions of the upload controls, the file is uploaded and an entry is written to the core Files table. The uploaded file is assigned a unique ID. So if you then look in the Repository tables, instead of a filename, you'll see something like "FileID=22". That tells the repository module to look in the core file table to get all of the information about the file with the ID of 22 to get information about the file, like the actual filename, the folder location where the file can be found, it's size, etc. The token processor in the module is smart enough to recognize a file uploade by the URL control by seeing the FileID=n format, so the correct information is output to the page.
Not sure exactly what you mean with your second question ...I blogged about using graphics for buttons instead of 'text' (ie: Download) .. here's a link to the blog. NOTE: There appears to be some navigation issue to older blog posts, so when you click on the link below it will appear to take you to the Reports project page, but just scroll down, you'll see my blog entry
http://www.dotnetnuke.com/Development...
If you want the thumbnail to trigger the download link., just add a DOWNLOAD setting to the IMAGE token in the template.xml file and set it's value to True, then the thumbnail image will act as the download button