As I understand it, the problem is not so much the revenue they made for the government. The issue is that they are making a much higher (and recurring) revenue that they keep for themselves, for running a website that the government may have paid, or that - as you say - paid for itself already.
It's the result of political initiatives to cut cost[0]. A contractor won't work for free. If congress won't give you the money to pay for it up front, you gotta work out a deal somehow. As it often plays out, 'lower taxes' often just results in the costs of some public need being shifted to some private industry.
The government got the website for “free” (no up front cost). Maybe once BA collects some amount of money the website cost up front the cost structure should shift to cover the ongoing maintenance rather than building the initial version