There's no reason to null all tickets. If the character name and server match with an active service account that would qualify for a code anyway, why would they need to null it?
Besides, the codes were useless. They weren't locked to one use, so anyone could (and did!) share their codes around so more people could try their luck.
While the lack of code checking is frustrating, I'm way more concerned with the queue skipping and spitting people out in the wrong order. People queued at 12:00:01 being told it's sold out but people who queued in at 12:05 getting tickets is way, WAY more disastrous.