Found something digging around in the MYSQL tables:
The affected files show blank fields in list view but display the data correctly when viewing the resource with view.php.
Turns out that the affected files have the data stored inside resource_data but NOT inside resource. Changing and resaving the value writes it into BOTH resource_data and resource.
More clues:
This seems to affect files that were populated before the columns were set to display in list view. After turning on the columns in list view, any newly uploaded files populate the fields as expected. Older files continue to stay blank. I confirmed this by hiding one column (removing it from $list_display_fields=array()) Any uploaded files have NULL for that field inside the resource table. If I add the field back into $list_display_fields=array() and upload a new file, the resource table will include the data for that particular field.
Now, how do I populate the resource table with the correct data after making changes to $list_display_fields=array()?
-Sebastian Szyszka