However, lot's of banks make it really easy to overdraw funds when using a debit card. In particular the ordering of transactions can cause you to overdraw (consider charge/refund/charge when a mistake was made; the bank could order it charge/charge/refund and you are now potentially overdrawn despite no day ending with you having a negative balance).
In particular, my past experience with Chase is that they pull crappy stuff like this all the time, nickel-and-dime-you with charges and then act surprised when you close all of your accounts with them.
Have you been asking them to reverse charges? Any time I have any trouble with any account ever, I always say "can you check if this generated any overdraft charges, and if so, can you reverse them"; it seems to work.
The point was that my experience with Chase sans fraudulent charges makes me believe that it would take months to see the money in the days before it was illegal for them to do so.
Since you mentioned Citibank, I've never banked with them, but I did have a visa with them back in college. I was young so only had the card for 18 months, but I'd never had a single late payment when a bill got put in the wrong mailbox in my dorm. By the time I got it, it was 2 days before it was due. I called up Citi (2 days before the due date) and asked them if they could waive the late fee/interest provided it was posted the following day. The answer was no and they had an additional fee (which they also wouldn't waive) for doing a bank transfer, which would save me from the late fee. I told the I'd do that and to please close the account. Asking to close the account got me to talk to his manager, but they didn't bend on any of the fees.
I've had much better customer experience with credit cards from Discover, American Express and (somewhat ironically given my banking story) Chase.
What bank took 90 days to refund fraudulent purchases? I'd like to know to avoid them forever.
(It's true that using a debit card means whatever checking account you used could get zeroed out; it's probably a good idea just to open a second account to use for online stuff, if you don't already have an account that serves a similar purpose).