Well, the trouble lay in the fact that the virtual card[s] were tied to the Android device, and when I was forced to factory-reset it, the cards went along with that. If I had not had catastrophic system trouble then it would not have been noticed (and I would've been less wary).
If your virtual card is not contingent on something like that, I'd say it's more robust. If the only way your virtual cards get destroyed is your say-so, then that's fine. But if they are, by design, ephemeral, I would say that is a different design goal, and while using an ephemeral card to pay for food or gas may be just fine, paying for a pair of glasses or other durable thing, and then expecting a refund much later on, that's perhaps risky and should be avoided where possible.
The whole point of a financial account is its stability, so that we're able to account for transactions over time. I understand that a credit/debit card is, by nature, more ephemeral than most accounts, even having an expiration date, but it infuriated me that Google sort of mandated these "virtual card numbers" and imposed them on every account I loaded into Google Wallet, rather than asking me if I needed protection or not. In an environment where I trust those vendors where I'm doing business, it only hurts both of us to virtualize those account numbers, and invalidate them at the drop of a hat!