Route charges are collected by Eurocontrol and are based, as far as I'm aware, on the flight plan in the system 30 mins before departure.
So for every Canary Islands to EGCC flight, as an example, which files via Irish airspace but then is given a re-route once airborne via BHD, NATS will only ever be paid for the original LIFFY-EGCC route.
Great system eh?