Sounds like you have Downloads marked as Virtual Products and Downloads do not get marked as Virtual Products ...
Downloads are NEVER Virtual Products and NEVER Always Free Shipping ... the code is designed to know based on the filenames on the Attribute(s) that there is no shipping ...
Bookmarks