Before a skill can be removed from the list in Reference codes, it must be deselected from all the Volunteers and Jobs records, including terminated Volunteers and Jobs. Volunteers and Jobs use the same skills list.
Reference Codes | Volunteer Codes | Skills
Use the same method in Jobs, being sure to select All jobs so that you see terminated jobs.
Another way to locate the skill to be removed is with reports. You can use two steps per tenacious skill. To find volunteer skills, Setup a filter to select the one skill and to Include Terminated Volunteers. Then run the Volunteers Skills report to find who was missed, if anybody.
I ran the Stations & Jobs spreadsheet. You might have to run it with a filter designed simply to Include Terminated Jobs. After a Ctrl-F I typed in the skill name and could find what Job record used it on the spreadsheet.
These routines ought to rout out the hiding records which are using your unwanted skills. After you track down and remove the skills from those records you WILL be able to delete the skills from Reference Codes.