Why don't you try to maintain a list of unique values and make your drop down off of that list, instead of linking your drop down to the entire dataset. You need to keep the reference list updated after each data refresh.
Option A: After each update, just take the column with company names, drop it into a new sheet and use data->remove duplicates.
Option B: Use a dynamic array to always keep a list of unique values, for example
=UNIQUE(data!U:U)