Now, here's a nice example of linguistic FACT being used to propagate linguistic SILLINESS. Kaya asks Harry Hole a negative question, You don't take milk, do you?. There follows the kind of misunderstanding we have all the bleeding time in English, because English is ambiguous in its answers here: he answers Yes, meaning 'yes, that's true, I don't take milk', but she thinks he means 'yes, I do take milk'. The fact that English can even do this is unusual and interesting and a worthy object of study, but we'll leave it aside for now (I think I've written about it before anyway).
It's not more logical to do it the Cantonese way, though. I'm not sure why it would be considered to be so, and in any case, languages are not logical. They're messy and arbitrary(ish) and when there's two options, as in this case, they're just one or the other without one being more logical. If there was a good reason for doing it one way, all languages would do it that way.
I got all this information from the brilliant SSWL database, by the way, where you can read more about this and other syntactic facts to your heart's content.