Nothing you can do about this as this is the hotel's policy. Generally it should be OK but I believe hotel policies changes because of so bad hats who manipulates the system causing the hotel to change their policy. I think you are being too paranoid on the second part as this is a hypothetical situation only. Hotels are commercial entities, they will be happy so long you are able to convince them of your ability to pay for the services that they provide.
A suggestion, instead of using a "guarantee" system at check in - ask the bank to charge and post the amount immediately. If they are worried about you using the mini bar or what not then offer to pay them at check out or top up the deposit using cash. I'm sure they will be more than happy to accept your money. But if you flinch and squirm with a million excuses when they ask you then their next reaction is obvious. Put yourself in their shoes ... would you risk yourself not getting paid or getting a bad customer ? They would rather reject you, lose a customer and ask you to try elsewhere. This sounds cruel but this is the reality of things.
As I mentioned, hotel require a form of guarantee and they used to ask for cash in lieu of credit / debit cards. So long your account have sufficient cash then it should be OK. Do note that while rooms can be e.g RM100 but the guarantee required can be higher e.g RM250 and this is the required deposit per day. So if you are staying for 3 nights, be prepared to have a minimum of RM750 in your account which you cannot touch between the time you book the room until you check out and sometimes until the merchant (hotel) makes the final posting. (Which can be up to several days after you check out)
And ... take some time to understand the concept of transaction date and posting date. This impacts you as well because your card is being "used" for the room security for an extended time.
You see, the rules are simple ... have enough cash in the account and don't touch it. If you are unable to do so for whatsoever reason then work on cash.
I think you are thinking to free up cash and work on just in time basis. NO, you can't work that way as liquidity of funds is required in your account.
If you can understand the above then you'll understand why sometimes hotel reject debit cards. Simply because no one took the time to understand the system and when the hotel loses money, they just reject debit cards. There's nothing wrong with debit cards ... it is all due to the people who use and abuse it.
It is definitely nothing wrong with the debit card. I enjoy using debit card to pay for something online. Most of my bills are paid online using debit card.
I understand what is transaction date and posting date. Don't worry.
If the hotel refuse to accept my debit card even though there are enough funds in my account, I just pay by using cash. If the bank will automatically release the hold on my funds in just a few days after I check-in or after I tell the bank that I am paying to the hotel by cash, without require any more hassles, then I have no problem.