Don't forget there's no 100% guarantee the transaction will be included on other blocks, especially if transaction have low fees.
Exactly. It isn't totally impossible. I can imagine situations where an unlucky user will be able to "lose" a transaction this way, if it was sent with low fees, and then a long row of full blocks occur where the fee is lower than the minimum fee to be included.
It is however very hard to really lose BTC because of that issue, because there is always the option of rebroadcasting it, as others pointed out. Even if a seller of a (virtual) good is naive enough to accept an 1-conf transaction, sends the virtual good to the buyer, and the block including it becomes orphaned, then the sender wouldn't be able to scam the receiver as long as the receiver of the transaction is using a full-fledged Bitcoin client (even Electrum should be enough) - because if he simply rebroadcasts the transaction he received it will be eventually confirmed.
The only option for the scammer would be to doublespend the output with a larger fee, but it would need extreme luck for the scammer to exploit that (it's virtually only possible if you're a big miner).