They may have been working, however there's zero guarantee that they have been learning anything new or even spending hands-on time doing engineering work (as opposed to shuttling between meetings).
I interview 2-3 candidates a week, including many people almost twice my age. While these older engineers have impressive-sounding resumes (IBM, Sun/Oracle) most struggle to code anything more complex than fizzubzz. In my case I make it as easy as possible for the candidates by allowing them to use any IDE they can install on my Macbook and encouraging them to search Google/StackOverflow if they get stuck because I want them to be comfortable and actually complete the task. Majority still end up with trouble implementing a simple JUnit/Selenium automation test for a login page.
I'd say they are optimizing locally. Yes, if you could write Cobol in the 70s/80s, you better optimized on writing Cobol, because it was all the hotness. But you should have stepped out of this local optimum somewhere in the 90s, and switched to OO languages. Moving away from what you already know in favor of something you don't yet know is painful if you are not used to it, but it's necessary - dinosaurs die.