Hmm, we haven't changed any of the birthday email code since it was put in. Is it possible that it's been sending out duplicate emails for you all along? The way we currently handle times and triggered events definitely leads to the potential for issues like this (which we're resolving for v8).
Can you run the following query and post the results?