Didn't realize that the file could be out of date. This could certainly be improved. In that case I would say scrap pulling the names from the dss file at all and instead:

1. Check the dates of the two files (if the dsc exists)
2. If the files are not up to date or the dsc isnt there, rebuild the dsc 
3. Pull the names from the catalog