"never think about the bug again"<p>That has never been part of the process. That may be what some people do, but it's not part of the process.<p>Good programmers figure out how the bug happened -while- they are fixing it. There's no need to spend time afterwards. (Okay, there are a -few- cases that require research, but I've never met one of those that didn't require me to track it down anyhow.)
"Because I screwed up" as a reason for a bug existing doesn't seem specific enough to me. My impression is if that's the best reason you can possibly come up with, then you should probably either think harder, or, if it seems to be just a case of "I made a typo," and it's one that's not similar to past mistakes you've made, you should forget about that particular bug unless a similar bug surfaces in the future.
I like to make video screen shots with CamStudio and record myself searching for the bug, finding the bug, explaining why the bug occurred, etc. I check the video into a log I have. It's worked very well, and it's much easier to watch the video instead of deciphering comments over, in some cases, multiple source files.