The money leaves your account at some point between midnight and 6 or 7am depending on how many transactions need processing.
If they bounced the direct debit then their logic could be that the money wasn't there at the exact moment that it was set to leave. If my phone rings at 1am and I answer it at 9:01am then that's too late isn't it?
Also, it'd make good business sense to (as you say) set the computer at a certain level depending on your circumstances. I know for a fact that my bank do this.
If you've always run your account perfectly, pay in lots of money every month, and are generally a wonderful and profitable customer then I'd want to be paying every direct debit you have even if once or twice you are noticeably short. No point in alienating your best customers.
Finally... if you've never had anything bounce before and it's just one charge that you have, ask them to reverse it as a goodwill gesture. Be nice and polite but firm. If they say no, ask that you escalate your complaint to the next level, (and then the next level after than, and the next). Ask them how much it'll cost the bank to escalate your complaint as far as it can humanly go - it may be cheaper just to reverse the charge. If you have loans and mortgage etc., (politely) ask if it's worth them losing all of that business just for the sake of �35.