Well, again it depends on the culture. Some boss wouldn't take any disagreement from subordinates well. No matter what the result looks like, if the boss doesn't declare the project failed, than that's not a failure. Even if it failed, the subordinate takes the blame, it's less serious than bringing up issues early because the boss's order is faithfully carried through to the end.
If was like "Get a mop, a bucket in the storeroom, pour in a cup of sugarsoap into the bucket and fill up with water then wash the floors". They washed the floors even though they couldn't find the sugarsoap because by accident they god sent sugar and soap instead, so they put that in, perfectly understanding what sugarsoap is and why sugar and soap won't replace it.