How can I get custom file fields in an activity to display correctly?
It sounds like you're encountering CRM-17791.  This bug was discovered and fixed in CiviCRM 4.7.  I would recommend upgrading a test copy of your site to 4.7 to see if that resolves the issue.  If so, consider upgrading or funding the long-term support team to backport a fix to version 4.6.