I had a bad one that I forgot when I first started programming. It was an app for colleges, which made it that much worse, but I was gone, which made it better. I did learn from it, however. It was when I was first learning, less is more and fail fast- a hard thing to get my mind around. So in one of my pseudo exception handlers (you know- checking for null when it shouldn't ever *be* null, etc., so it won't generate an exception instead of handling the exception- yeah, stupid), I put the code in there while I was testing:
if VarIsStr(Value) and (Length(VarToStr(v)) <> 0) then
begin
...
end
else
begin
// Remove before release
ShowMessage('I fscked this up');
end;
So, predictably, when something else was changed, it fell into the condition that it should never fall into. Someone that I knew that still worked there called me about that... it had reached the humorous point by that time, but still, I learned a lesson from that... (and am very happy that I used fsck...)