Your agent, should also, now do the sensible thing and reimburse you for your expense. In fact, in my opinion, she should have simply told your locksmith to send her the bill, so that you wouldn't be out of pocket at all. After all, you did the footwork.
Granted, the missing keys are probably not the fault of your agent, clearly one of the showing agents screwed up... and forgot to return the keys, lost them, or confused them with a different set. But this was an opportunity for your Realtor to step up and show that she was more concerned with your safety and well being and earn a client-for-life, and she missed that opportunity, big time!
I would pay out of my comission, but I would change the locks myself to save money. They don't have to be super quality locks because the new owner will change the locks after closing.
In a best case scenario, the person responsible for the keys turning up missing should be responsible for the resulting expense. If this is not the case clearly, the listing agent should step up and take care of this responsibility.
The action of saying they'll pay this expense at closing is a "cop out." Or possibly another way to insure the listing remains in their stable.
If unsatisfied with this approach, it may be beneficial to be in touch with the listing agent's broker to process this serious security breech with them. It is my opinion that you should not be inconvenienced or financially responsible in any way.
Wouldn't it be nice for someone to step forward and "man-up" by saying they made a mistake and will take care of it.