Actually, the security of the PaymetRequest is pretty much out of your control as soon as the PaymentRequest is created on the server. You have no idea what the hotel does with it. Also if it's stored in the hotel server I have to trust the hotel to keep it safe for me.Well, yes. But if the hotel itself is hacked then the whole process is meaningless, no? The hacker could just make the hotel think the proof of payment is correct even though it was never made at all, for instance.
Another thing is that you assume BIP0070 is used for payments, which isn't necessarily is the case.It's just a convenient place to put things. There are lots of useful features that need BIP 70. I hope eventually all wallets will support it.