In all the literature I've seen, including this one yes they show the same as the Olimex truth table above - that both GPIO0 and GPIO2 are expected to be 1 at bootup for normal (Flash) operation.
But two observations:
1 - There's no truth-table entry anywhere I've looked for what would happen if GPIO0 is 1 and GPIO2 is 0 at boot. When I get home I'll try it on one of my sacrificial ESP-01s
2 - No-one's mentioned whether the ESP8266 has internal pullups, which are more common these days. I can't lay my hands immediately on a doc which exhaustively details what internal pullup/downs are available , but from this official hardware doc i saw the following (page 35):
By default the Flash is empty. Therefore, the following procedures should be followed when you
burn the programs into the Flash:
• Before burning, set the module to work under UART Download mode;
• Pull IO15 and IO0 to low-voltage level, leave IO2 dangled;
• Burning the programs into Flash;
• Burning the program into Flash using flash downloading tools;
• After burning the programs into Flash, pull down IO15 to low-voltage level, keep IO2 dangled,
and pull up IO0 to high-voltage level. The module is then shifted from UART Download mode to
the Flash Boot mode;
• The initialisation would read and run programs from Flash after it is powered on.
This kind of suggests to me that an external pullup on GPIO2 isn't mandatory. Which is not to say that including one wouldn't be good practice.
Carry on...