Didn't IBM effectively give them that guidance?
It seems kind of simple in a way, if IBM was hired to build X and failed to do so, then there will be a law suit or some form of arbitration and some money will be recovered or something. It's pretty standard breach of contract type stuff. You can audit everything too, maybe IBM was billing for stuff they shouldn't have; I kind of doubt it but maybe there was something really amiss.
On the other hand if IBM was hired to build X, then it changed in to X' and then X'' and 10,000 changes later it turns our, Canada really wanted Y from the start, isn't IBM guiding them along their process to figure that out? It's an insanely expensive way to build and buy stuff.
Is there supposed to be some sort of internal customer's advocate that looks at the project and says "hmm, this is a payroll system, it shouldn't cost a $billion typically, or this was a $100m contract that is already up to $300m, something must be wrong..." Don't get me wrong, in most sales driven organizations, they're high-fiving whoever inked that contract and trying to get invited to the parties he throws on his yacht. The catastrophic failure sucks for everybody, it's hard to see someone else finishing the job more inexpensively that getting IBM to do it though.