your blocks ends up increasing the risk that you get orphaned since nodes prefer the first block they heard.
I think this assumption of theirs is the flaw.
Successful pools do not build on the
first block they hear; they build on
the most difficult block they hear.
If you rerun their calculations under that assumption, the cost of losing the work done on their second block in the private two-block chain swamps out any possible benefit.
If the end-user bitcoin-qt client is using the "first block heard" rather than "most difficult block heard", then it's a bug, and one that is already fixed on the network nodes that matter most for security (the mining pools and large solo miners).
Here is where they acknowledge introducing this bug in their simulation:
In the case of two branches of the same length, we artificially divide the non-pool miners such that a ratio of γ of them mine on the pools branch and the rest mine on the other branch.