First of all I alwyas use one #ID. just asking this question to know deep reason behind it.
Is it only a matter of W3C validation? or more than that
I've had experiences where certain JavaScript code didn't work as expected because two elements had the same ID. I think getElementById just gets the first element it comes to that has the particular ID.