It's not as simple as removing a booking code...
AA's nonrev pricing doesn't work thru the FPC or apply normal logic. I wrote the functional requirements for AA's nonrev ticketless system back in 1993, and it was a downright pain in the ass trying to get people to think beyond four-part carbon tickets...
Our group was a proponent of filing private fares and discount codes for nonrevs, and issuing ID tickets (which many airlines outside the US seemed to be doing at the time). But AA ultimately decided they wanted to hang on to the "write your own" mentality that gave us paper Form 45 and Form 543 tickets. Instead of modifying employee and retiree behavior, AA spent about $400,000 in 1992 dollars to build a customized system within Sabre PNR and DCS.
The other problem with Sabre is what we lovingly call spaghetti code... When you have lots of little unique code blocks, you never really know what impact a little change is going to have on the system's stability. What should be a minor change sometimes winds up kicking off a larger problem in an unrelated code block (or even another system altogether) because nobody expected that other code block (or system) to be referencing what gets changed. And back in the 90's, there was a lot less attention to documenting code than there is today. Half the cost of a programming change today is paperwork...
And that is what requires a lot of testing when you change deeply embedded or older code.
It's also why AA will likely just leave the code in place, even after the point where Sabre employees have travel privileges, which in turn contributes towards more spaghetti code.
Had AA been a little more forward looking in 1993, this would have been a simple table update to remove a discount code, and a matter of adding a discontinue date to the private fares...