There are a couple of settings in PHP that can effect the size of file that you can upload. These settings are upload_max_filesize, and max_execution_time. By default the filesize is set to 2MB and the execution time is set to 30 secs. You will need to check in your php.ini file to update these settings.
As for the shipping you will need to come up with a way to exclude items that do not have shipping associated with them. One way you can do this is to have a particular value in a column for items that are shippable. You can then alter your rule to say 'if the presence of an item in the cart has a column value of' then choose the column that indicates the item is shippable and enter the value that would be in this column. This way the rule will only trigger if you have shippable items in the cart.
As for the trouble you are having with the download center at what point are you not getting the proper results? Were you able to follow all of the steps without error?