I'm afraid your friend is almost certainly going to be out of luck. The one shot at a change is exactly that, hence why you should never take it if there's a chance of something better coming along.
If BA had reserved a seat on 31st that was secured, so your friend should just have waited - you only need to grab something if you've found a routing BA hasn't offered and you need them to secure it. If nothing comes up, fly on whats offered. If something better emerges, ring BA and grab it.
You should make sure your friend is aware that BA is still responsible for covering hotel and meals until they fly him/her home.